捕獲返回值這是我的Tcl腳本來從TCL在批量
return 2
它什麼都不做,只是返回值2。現在我的批處理腳本調用名爲foo這個TCL文件。
tclsh foo.tcl
返回值可能會不時變化,我需要在批處理文件中獲取此值。是否有辦法做到這一點。我是批處理命令的新手,所以我對此沒有太多的想法。我嘗試了if-else循環,但它給出了語法錯誤。任何想法將不勝感激。
捕獲返回值這是我的Tcl腳本來從TCL在批量
return 2
它什麼都不做,只是返回值2。現在我的批處理腳本調用名爲foo這個TCL文件。
tclsh foo.tcl
返回值可能會不時變化,我需要在批處理文件中獲取此值。是否有辦法做到這一點。我是批處理命令的新手,所以我對此沒有太多的想法。我嘗試了if-else循環,但它給出了語法錯誤。任何想法將不勝感激。
要獲得的Tcl的外部來電者看到的結果代碼,你需要exit
而不是return
:
# In Tcl
exit 2
然後呼叫方能夠使用退出代碼處理內置到它來檢測。例如使用bash(和其他大多數Unix外殼):
# Not Tcl, but rather bash
tclsh foo.tcl
echo "exit code was $?"
在Windows上,我認爲這是事做ERRORLEVEL
但它是因爲我使用的平臺之類的事情很長一段時間。我只記得它煩人...
看來%ERRORLEVEL%
是你想要什麼:
C:\Users\glennj>tclsh
% exit 3
C:\Users\glennj>echo %ERRORLEVEL%
3
優秀!所有我需要的 –
這並不幫助多納爾。因爲無論您選擇什麼退出值,它總是會返回到ERRORLEVEL 1 –
@UnderDog您知道['IF ERRORLEVEL x'測試退出代碼是否是_at least_'x'](http://blogs.msdn.com/ b/oldnewthing /存檔/ 2008/9月26日/ 8965755.aspx)? –