我想写一个删除文件夹的批处理文件如果文件夹中有超过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"