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























展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读