2013-08-29 127 views
0

我有兩臺Windows 2008 SP2服務器,其中一臺爲其他生產服務器。 Production正在運行Microsoft CLuster服務。現在,在一個特定的批處理腳本下面的命令有:errorlevel可以在一臺服務器上運行,但不能運行其他

dsmc incr "%ARCHIVE_DIR%\*" 
if errorlevel 1 goto EXCPT 
more code to do purging 

Excpt: 
echo "script backup error" 

在開發這個正常工作,DSMC增量收益8上成功完成腳本移動到清除代碼。但在生產中,即使dsmc incr返回8,錯誤級別始終計算爲1,並跳轉到Excpt:。任何人都可以幫忙嗎?

+0

我有一個更新,dsmc incr在開發時返回0,並在生產中返回代碼8。所以如果錯誤級別1表示錯誤級別大於或等於1,那麼按照[鏈接](http://stackoverflow.com/questions/3942265/errorlevel-in-a-for-loop-batch-windows)只有一個。 –

+0

在你的問題中糾正它! –

回答

1

檢查IF幫助!

`IF /?` 

你會發現:

ERRORLEVEL(...)如果最後運行的程序返回的退出代碼等於或大於指定的數大的真實情況。

所以,

if errorlevel 1 ... 

將評估任何錯誤級別> = 1真。

爲了得到精確匹配,使用:其中ERRORLEVEL作爲環境變量

IF ERRORLEVEL 1 IF NOT ERRORLEVEL 2 ... 

IF %ERRORLEVEL% == 1 ... 

最後一個不能在環境中工作。

相關問題