检查文件夹是空的使用批处理命令?

for /F %%i in ('dir /b "C:\Program Files\Apache folder\*.*"') do ( echo Folder is NON empty goto launch_app ) 
  • 如何检查一个文件夹是空的?

    我试过上面的命令,但没有奏效。

尝试这个:

 for /F %%i in ('dir /b /a "C:\Program Files\Apache folder\*"') do ( echo if you see this the folder is NOT empty goto launch_app ) 

文件未找到

 @for /f "tokens=*" %%a in ('dir /b /ad "C:\Progra~1\Apache"') do @... 

您在运行此命令时看到的错误来自标准错误输出。 但这只是一个警告印在您的控制台。 当这种情况发生时,迭代的主体将不被评估,并且基于这个“for / dir”指令的算法实际上是正确的。

现在,如果您想摆脱这个丑陋的错误信息,您需要将以下内容添加到脚本中,以将标准错误重定向到空设备:

 2>NUL 

例如,在批处理文件中,使用适当的转义字符:

 :: echo list of files @for /f "tokens=*" %%a in ('dir /b /ad "%srcPath%" 2^>NUL') do @echo(%srcPath%\%%a