[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样遍历文件夹,删除只有包含一个文件的文件夹

本帖最后由 swanseabrian 于 2021-9-22 11:20 编辑

遍历文件夹,删除只有包含一个文件的文件夹
请问这个要怎么操作呢,谢谢

本帖最后由 idwma 于 2021-9-21 17:28 编辑
  1. powershell "(dir -ex *.* -r)|foreach{if ((dir $_.fullname|measure|foreach{$_.count}) -eq 1){del -r $_.fullname}}"
复制代码

TOP

回复 1# swanseabrian
这个应当勉强能用,未经测试:
  1. @echo off
  2. for /f "delims=" %%i in ('dir /b /s /ad') do (
  3.     pushd %%i
  4.     for /f %%j in ('dir^|findstr /r /c:" 1 个文件"') do rd /s /q %%i
  5.     popd
  6. )
  7. pause
复制代码

TOP

回复 3# qixiaobin0715


    for /f "delims=" %%a in ('dir /b /s /a-d^|findstr /r "详细信息\\[^\\]*.txt$"') do ren "%%a" "introduce.txt"
这句啥意思呀   \\[^\\]
这四个杠啥意思
我把[^\\]去掉就搜索不到了

TOP

\\是转义,表示一个反斜杠。可以去学学findstr命令。

TOP

[^\\]表示非反斜杠的字符。

TOP

回复 6# qixiaobin0715


    加这个非反斜杠干啥  
详情信息\*.txt
第一个转义我能理解,这个非反斜杠是干啥的,*.txt 难道不行吗

TOP

findstr中的*意义与别处不一样。
请查看findstr中的帮助文档。

TOP

findstr /?
1

评分人数

TOP

回复 8# qixiaobin0715


    >dir /b /s /a-d|findstr /s "计数\\*.txt
不用/r正则就可以了,你加了正则,都是按正则的标准走的,好的

TOP

回复 10# swanseabrian

行吗?

TOP

C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争>dir /b /s /a-d|findstr /s "计数\\*.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0001_柏志忠\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0002_柏永良\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0003_包江甫\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0004_包金其\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0005_包丕高\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0006_包尚芝\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0007_包锡祥\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0008_包学德\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0009_卑孔奎\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0010_卞维端\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0011_蔡邦基\计数\计数.txt
C:\Users\Administrator\Desktop\bat\4dot1\新建文件夹\解放战争\Temp\0012_蔡邦清\计数\计数.txt

TOP

回复 12# swanseabrian
也不对!!!
你看到的只是表面现象,上面搜索到的只是“计数.txt”,并不是文件夹“计数”,如果文件夹“计数”中不含“计数.txt”文件,就搜不到。

TOP

不信的话,你可以把搜索字符改为"计数.txt",会得到同样结果。

TOP

回复 14# qixiaobin0715


    计数\\*.txt
这个不是表示计数文件夹里的东西吗

TOP

返回列表