如何批量检查文件夹中是否包含20个以上的文件?

时间:2014-06-03 15:21:47

标签: windows batch-file directory

我想写一个删除文件夹的批处理文件 如果文件夹中包含20个以上的文件。但我不知道怎么做。

我使用Windows 7 Ultimate。

1 个答案:

答案 0 :(得分:1)

以裸格式列出文件,并使用find命令计算输出行数

set "nFiles=0"
for /f %%a in (
    'dir /a-d /b "c:\folder\*" 2^>nul ^| find /c /v ""'
) do set "nFiles=%%a"
echo %nFiles%

以通常格式列出文件,并使用findstr找到包含文件数的行/字段

set "nFiles="
for /f %%a in (
    'dir "c:\folder\*" ^| findstr /b /c:"  "'
) do if not defined nFiles set "nFiles=%%a"
if not defined nFiles set "nFiles=0"
echo %nFiles%

dir命令

的输出上使用计数器
set "nFiles=0"
for /f %%a in ('dir /b /a-d "c:\folder\*" 2>nul ') do set /a "nFiles+=1"
echo %nFiles%

或者您可以使用wmic,或使用dir或{的编号对findstr /n命令的输出中的行进行编号。

无论如何

if %nFiles% gtr 20 rd /s /q "c:\folder"