我使用forfiles
命令来检查目录中的文件是否具有实际日期:
forfiles /p C:copies /s /m *.bak /d 0
if %errorlevel% == 0 (
echo OK
) else (
echo Non OK
EXIT /%errorlevel%
)
但是if-else statement
仅适用于最后一个文件。如果我使用 /c
参数,它可以正常工作,但我无法使用else
进行其他思考:
/c "cmd /c echo @file is outdated."
将 if-else 语句与 forfile 一起使用的最佳方法是什么?
您可以先尝试迭代文件,然后使用 forfiles:
setlocal enableDelayedExpansion
for /r "C:copies" %%# in (*.bak) do (
(forfiles /p "%%~dp#" /m "%%~nx#" /d 0 )&&(
echo ok
color
)||(
echo not ok
exit !errorlevel!
)
)