使用batch file删除具有条件的特定文件夹

我是批处理脚本的新手,并不知道如何编写一个batch file删除特定的文件夹中的条件在C:\根目录

条件:

  1. 如果文件夹名称不是“Paul”,“Mike”,“Daniel”和“Pierre”
  2. 如果该文件夹没有子文件夹或文件

行动:

删除该文件夹。

在我的例子中,应该用这个batch file删除c:\ root \ test1

C:\根

C:\ ROOT \保罗

C:\ ROOT \麦克

C:\ ROOT \麦克\分配

C:\ ROOT \麦克\转让\ assignment1.txt

C:\根\丹尼尔

C:\根\丹尼尔\考试

C:\根\皮尔

C:\根\皮尔\ quiz.txt

C:\根\ TEST1

C:\根\ TEST2

C:\根\ TEST2 \的test2.txt

请让我知道,如果有什么不清楚。

非常感谢你。

你可以从这个批次开始测试,如果文件夹的大小等于0size=0 ),那么我们可以删除它!

只要试一试这个代码,如果你得到了你所期望的输出结果,就摆脱echo

 @echo off setlocal disabledelayedexpansion set "folder=%~1" if not defined folder set "folder=%cd%" for /d %%a in ("%folder%\*") do ( set "size=0" for /f "tokens=3,5" %%b in ('dir /-c /a /w /s "%%~fa\*" 2^>nul ^| findstr /b /c:" "') do if "%%~c"=="" set "size=%%~b" setlocal enabledelayedexpansion If "!size!"=="0" Echo RD "%%~na" endlocal ) endlocal pause exit