在 Visual Studio 的构建事件中,是否可能修改命令的返回代码(我认为也称为errorlevel
)?
我正在运行taskkill /F /IM MyApp.vshost.exe
命令,我希望该命令返回0
,但实际上它返回128
。
在 Visual Studio 的构建事件中,是否可能修改命令的返回代码(我认为也称为errorlevel
)?
我正在运行taskkill /F /IM MyApp.vshost.exe
命令,我希望该命令返回0
,但实际上它返回128
。
在批处理文件中将所有输出重定向到一个临时文件并以代码0退出。这将有效地忽略taskkill
产生的任何错误:
killit.bat:
taskkill /F /IM MyApp.vshost.exe > %temp%\out.txt 2>&1
exit /B 0
现在在构建事件中调用killit.bat。
更新 在hege发布答案后,我想到直接将批处理文件中的代码粘贴到构建事件中也应该可以正常工作,因为据我所知,VC中的构建事件始终在命令行上执行。而事实上如此。
taskkill /F /IM MyApp.vshost.exe > %temp%\out.txt 2>&1 || exit /B 0
作为构建事件也能起作用。但重定向仍然是必需的。
尝试使用 taskkill /F /IM MyApp.vshost.exe || exit /b 0
命令。
如接受答案评论中所示:
解决“命令'taskkill /F /IM MyApp.vshost.exe'退出代码为128”错误
taskkill /F /IM MyApp.vshost.exe /fi "pid gt 0"
使用过滤器的taskkill
没有返回错误。
2>&1
是什么意思? - Otiel