比如说,要删除D:\ABC目录下的所有文件夹,就将代码保存到D:\ABC目录下运行。
|
多层遍历 有点麻烦
下面是找出 点号结尾文件夹 的代码, 你自己尝试逐层查找, 逐层处理一下吧:
- for /f "tokens=3 delims=<>" %%a in ('dir /ad/x ^| findstr /i "~.*\.$"') do (
- for /f "tokens=1,2" %%b in ("%%a") do (
- echo %%~fb,
- (echo %%c.)
- )
- )
如果有固定的目录结构, 那么代码也无需遍历, 针对性地写出不用遍历的固定代码就行了
例:有一个txt文本里面有这种
qvod://149647161|244D0F1F5BAEBBDED2022E2BFC458919ED38B524|天啸_01.rmvb|
qvod://143008641|B925BF2D18043FE77B59F5794695CF7C29A392F2|天啸_02.rmvb|
qvod://164213401|EF57B271C4A08FF0567F9D014D187DD3923F35BA|天啸_03.rmvb|
qvod://159173609|EA12D67580085BB9FDC63748464F7AE1E63B6631|天啸_04.rmvb|
qvod://151926461|FC6761602D58F9FAFC7A49ADF9E5A6E8A8EB5A1E|天啸_05.rmvb|
qvod://166083885|D5BFAEC9E075CC27FF1946899C1BA442A3848D2F|天啸_06.rmvb|
qvod://151660655|ED24BFE6492175C711A218F6715C64BA8AEB3B41|天啸_07.rmvb|
........
我想得到
qvod://到|之间的数字(就是红色部分)
怎么写
- @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
- for /f "delims=|" %%a in (1.txt) do (
- set "str=%%a"
- (echo !str:~7!)>>2.txt
- )
- pause
for /f "delims=/|tokens=2" %%a in (a.txt) do echo %%a |
还想问一下 如果我想提取最后的 |到|之间的字符怎么弄
qvod://149647161|244D0F1F5BAEBBDED2022E2BFC458919ED38B524|天啸_01.rmvb|
这个更简单了,直接提取你的红色部分,生成b.txt
for /f "delims=|tokens=3" %%a in (a.txt) do echo %%a>> b.txt
for /f "delims=/|tokens=2,4" %%a in (a.txt) do echo %%a %%b |