2013-12-16 25 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

相关问题