我是批处理编程的新手。我正在尝试在我的一个批处理脚本中使用IF条件。代码看起来像这样。
:rmfile
:: removes the file based on it's age.
::
SETLOCAL
set file=%~1
set age=%~2
set thrshld_days=40
if %age% LSS 40
echo.%file% is %age% days old
EXIT /b
现在的问题是,即使文件的年龄超过40,我也会打印文件。实际上这不应该发生。
请帮助我。谢谢!
答案 0 :(得分:1)
要么把它放在一行:
if %age% LSS 40 echo.%file% is %age% days old
或使用块分隔符:
if %age% LSS 40 (
echo.%file% is %age% days old
)
答案 1 :(得分:1)
if %age% LSS 40
echo.%file% is %age% days old
被解释为具有空体(第一行)和无条件echo
(第二行)的条件表达式。你需要将它们放在一行:
if %age% LSS 40 echo.%file% is %age% days old
或使用parens创建块(但开场括号必须与if
位于同一行):
if %age% LSS 40 (
echo.%file% is %age% days old
)