找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 64622|回复: 23

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

[复制链接]
发表于 2021-9-21 15:31:10 | 显示全部楼层 |阅读模式
本帖最后由 swanseabrian 于 2021-9-22 11:20 编辑

遍历文件夹,删除只有包含一个文件的文件夹
请问这个要怎么操作呢,谢谢
发表于 2021-9-21 17:27:37 | 显示全部楼层
本帖最后由 idwma 于 2021-9-21 17:28 编辑
  1. powershell "(dir -ex *.* -r)|foreach{if ((dir $_.fullname|measure|foreach{$_.count}) -eq 1){del -r $_.fullname}}"
复制代码
发表于 2021-9-22 09:58:47 | 显示全部楼层
回复 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
复制代码
 楼主| 发表于 2021-9-22 10:24:06 | 显示全部楼层
回复 3# qixiaobin0715


    for /f "delims=" %%a in ('dir /b /s /a-d^|findstr /r "详细信息\\[^\\]*.txt$"') do ren "%%a" "introduce.txt"
这句啥意思呀   \\[^\\]
这四个杠啥意思
我把[^\\]去掉就搜索不到了
发表于 2021-9-22 10:41:49 | 显示全部楼层
\\是转义,表示一个反斜杠。可以去学学findstr命令。
发表于 2021-9-22 10:45:02 | 显示全部楼层
[^\\]表示非反斜杠的字符。
 楼主| 发表于 2021-9-22 11:03:33 | 显示全部楼层
回复 6# qixiaobin0715


    加这个非反斜杠干啥  
详情信息\*.txt
第一个转义我能理解,这个非反斜杠是干啥的,*.txt 难道不行吗
发表于 2021-9-22 11:07:26 | 显示全部楼层
findstr中的*意义与别处不一样。
请查看findstr中的帮助文档。
发表于 2021-9-22 11:11:24 | 显示全部楼层
findstr /?

评分

参与人数 1技术 +1 收起 理由
swanseabrian + 1 非常好

查看全部评分

 楼主| 发表于 2021-9-22 11:19:59 | 显示全部楼层
回复 8# qixiaobin0715


    >dir /b /s /a-d|findstr /s "计数\\*.txt
不用/r正则就可以了,你加了正则,都是按正则的标准走的,好的
发表于 2021-9-22 11:22:18 | 显示全部楼层
回复 10# swanseabrian

行吗?
 楼主| 发表于 2021-9-22 11:50:22 | 显示全部楼层
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
发表于 2021-9-22 13:27:57 | 显示全部楼层
回复 12# swanseabrian
也不对!!!
你看到的只是表面现象,上面搜索到的只是“计数.txt”,并不是文件夹“计数”,如果文件夹“计数”中不含“计数.txt”文件,就搜不到。
发表于 2021-9-22 13:34:30 | 显示全部楼层
不信的话,你可以把搜索字符改为"计数.txt",会得到同样结果。
 楼主| 发表于 2021-9-22 13:51:17 | 显示全部楼层
回复 14# qixiaobin0715


    计数\\*.txt
这个不是表示计数文件夹里的东西吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 01:45 , Processed in 0.043429 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表