1
從Windows命令行運行此批處理文件會導致%errorlevel%爲5(即在執行批處理文件後打印數字5後在命令行上運行echo %errorlevel%
):批處理文件中的「EXIT」不能覆蓋以前命令的返回碼
EXIT /B 5
這很好。
但是,運行在0%的ERRORLEVEL%這個批處理文件的結果,無論是什麼:
sleep 1
EXIT /B 5
我希望它返回錯誤代碼5.我怎樣才能做到這一點?
注意:如果我將sys.exit(13)添加到sleep.py(見下文),那麼第二個批處理文件將以退出碼13返回。因此,我的批處理文件將返回退出碼sleep.py腳本,而不是通過EXIT命令指定的退出代碼(這很奇怪)。
sleep.bat:
sleep.py %1
sleep.py:
import sys
import time
if len(sys.argv) == 2:
time.sleep(int(sys.argv[1]))
不,我從命令行呼應。所以在命令行中我首先輸入「my_batch_script.bat」並讓它運行。然後我輸入「echo%errorlevel%」。我只是嘗試延遲擴展,但它似乎並不在命令行上工作(回顯!errorlevel!只是打印!errorlevel!)。 – robert