2013-12-16 23 views
1

我有6個任務的部署,我想確保如果第1步失敗,將不會處理第2步。同樣,如果以前的任務成功,則只能處理後續任務。如何檢查某個特定文件是否存在以及要使用哪個退出代碼?

爲此,我必須在安裝或卸載每個步驟之前運行vb腳本。我正在嘗試使用我修改過的用於軟件預安裝和軟件後安裝的腳本(不是我)。

預卸載:腳本會查看服務器上是否存在指定的「exe」,如果存在,則會運行msiuninstall <application_name>

如果卸載成功,安裝後腳本將檢查服務器上是否再次存在「exe」文件,並且它不應該找到它(因爲它已被卸載刪除),那麼它將返回退出代碼success並繼續運行下一個過程。

這裏的示例:

  1. 卸載 「軟件#1」 與msiuninstall軟件#1.EXE 命令

  2. 卸載 「軟件#2」 與msiuninstall軟件#2.exe 命令

  3. 安裝 「軟件#3」 擴展名爲.exe的

  4. 以.msi擴展名重新安裝「Software#2」

  5. 重新安裝帶「.msi」擴展名的「Software#1」。

  6. 發送電子郵件,以確認部署成功

最後,第6步應該發送一封電子郵件,以確認6步部署無錯完成。我如何去做這件事?

這是我的工作腳本:

「這個腳本會看,如果針對特定應用程序的.exe文件存在。 '================================================ ==============================================================

path = WScript.Arguments.Item(0) 
set objFSO = CreateObject("Scripting.FileSystemObject") 

If objFSO.FileExists("C:\Inetpub\wwwroot\Enterprise\EnterpriseWS\web.config")= True then 
    exitCode = 0 
else 
    exitCode = 1 

End如果

Wscript.Quit exitCode 

回答

1

你需要把文件名引號:

If objFSO.FileExists("C:\Inetpub\wwwroot\Enterprise\EnterpriseWS\web.config") = True Then 
+0

我曾嘗試和得到了錯誤: 線1 CHAR 1 錯誤:下標超出範圍 代碼:800A0009 Microsoft VBScript運行時錯誤 路徑= WScript.Arguments.Item(0) 組objFSO =的CreateObject( 「Scripting.FileSystemObject的」) 如果objFSO.FileExists(「C:\的Inetpub \ wwwroot的\企業\ EnterpriseWS \網。配置「)= TRUE然後 退出碼= 0 否則 退出碼= 1 結束如果 Wscript.Quit退出碼 – user3108514

+0

你能告訴我們整個腳本?該錯誤可能是因爲你沒有在路徑通過在命令行上當你調用腳本。 – aphoria

相關問題