我需要一个批处理脚本,它将在一个文件夹或根目录中搜索,而不是递归地搜索文件夹名称只有两个字母或数字的文件夹。示例 A1 B0 E2 22 52。我有一个程序可以将文件夹转储到 C 驱动器上,现在我在许多计算机上都有数百个文件夹。我想删除这些文件夹。我没有所需的任何短至 2 个字母的文件夹。有人可以帮忙吗?
问问题
205 次
2 回答
3
这只会删除名称中包含两个字母或数字的文件夹:
for %%i in ('dir /b /ad ?? ^| findstr /r "^[a-z0-9][a-z0-9]$"') do echo rd /s /q "%%~i"
查看输出,echo
如果它看起来不错,则删除该单词。有关 Regex 的更高级用法,请查看sed。
于 2013-06-25T20:05:45.497 回答
0
这将删除所有包含两个或更少字符的空文件夹:
for /f %%i in ('dir /b /ad ??') do rd %%i
如果您还想删除非空文件夹:
for /f %%i in ('dir /b /ad ??') do rd %%i /s /q
如果您不是在批处理文件中使用它,而是作为单个命令使用它,请将每个替换%%i
为%i
编辑(排除文件夹):
for /f %%i in ('dir /b /ad ??') do ( if "%%i" neq "FP" rd %%i /s /q )
于 2013-06-25T16:50:00.527 回答