`
aerchi
  • 浏览: 425950 次
  • 性别: Icon_minigender_1
  • 来自: 昆明
文章分类
社区版块
存档分类
最新评论

Bat 命令

 
阅读更多





比如说,要删除D:\ABC目录下的所有文件夹,就将代码保存到D:\ABC目录下运行。
  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /b *.*') do (
  3. rd /s /q "%%a"
  4. cd.>"%%a"
  5. )
复制代码


多层遍历 有点麻烦
下面是找出 点号结尾文件夹 的代码, 你自己尝试逐层查找, 逐层处理一下吧:

  1. for /f "tokens=3 delims=<>" %%a in ('dir /ad/x ^| findstr /i "~.*\.$"') do (
  2. for /f "tokens=1,2" %%b in ("%%a") do (
  3. echo %%~fb,
  4. (echo %%c.)
  5. )
  6. )
复制代码
对于查找出的 文件夹的 短名称, 是可以用 CD 进入的, 然后可以在里面创建下一层文件夹, 再继续用这个方法找出它的 短名称, 再 CD 进入....
如果有固定的目录结构, 那么代码也无需遍历, 针对性地写出不用遍历的固定代码就行了


例:有一个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://到|之间的数字(就是红色部分)
怎么写

  1. @echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"
  2. for /f "delims=|" %%a in (1.txt) do (
  3. set "str=%%a"
  4. (echo !str:~7!)>>2.txt
  5. )
  6. 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























分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics