我有一个简单的批处理文件,如果操作失败,我想在其中执行操作。在这种情况下,似乎只有第一行由于某种原因而执行......
call "%local_path%\unins000.exe" /verysilent
IF ERRORLEVEL 1 (
echo ERROR: uninstallation failed
REM Installation failed, deletes the folder
rmdir /s /q "%local_path%"
set batcherrorlevel=1
)
IF %batcherrorlevel% neq 0 exit /b %batcherrorlevel%
如果卸载失败,则回显工作并显示,但我的退出代码为0.但是,如果我放置行"设置batcherrorlevel = 1"作为条件中的第一行,退出代码为1,但回显不会打印。
编辑:我从来没有找到问题的真正原因,但它似乎已经解决了问题......让我烦恼一点,但只要它有效,我猜它就是这样。好的...
答案 0 :(得分:1)
当您在块语句中放置备注时,有时批处理文件会崩溃
答案 1 :(得分:0)
我认为您可能需要将其包装在百分比中,并添加一个==运算符。 我在比较中,但这可能就是我。
If "%ERRORLEVEL%"=="1"
或者您可以查看是否需要使用续行符。 见http://blogs.msdn.com/b/oldnewthing/archive/2008/08/06/8835317.aspx