如何检查一个文件夹中是否有超过20个文件



我想写一个删除文件夹的批处理文件如果文件夹中有超过20个文件。但我不知道如何去做。

以裸格式列出文件,并使用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,或者使用findstr /n或....对dir命令的输出行进行编号

无论如何

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

最新更新