如何检查特定文件是不是存在以及使用哪个退出代码?
Posted
技术标签:
【中文标题】如何检查特定文件是不是存在以及使用哪个退出代码?【英文标题】:How to check if a specific file exist and which exit code to use?如何检查特定文件是否存在以及使用哪个退出代码? 【发布时间】:2014-01-04 07:19:32 【问题描述】:我有 6 个任务的部署,我想确保如果第 1 步失败,则不会处理第 2 步。同样,只有在前面的任务成功的情况下,才应该处理后续任务。
为此,我必须在每一步安装或卸载之前运行一个 vb 脚本。我正在尝试使用我为预卸载软件和安装后软件修改的脚本(不是来自我的)。
预卸载:脚本将查看指定的“exe”是否存在于服务器上,如果存在,则运行msiuninstall <application_name>
。
如果卸载成功,安装后脚本会检查“exe”文件是否在服务器上再次存在,并且它应该没有找到它(因为它被卸载删除了),然后它会返回一个success
的退出代码,继续运行下一个进程。
这里是一个例子:
使用 msiuninstall Software#1.exe 卸载“Software#1” 命令
使用 msiuninstall Software#2.exe 卸载“Software#2” 命令
安装带有 .exe 扩展名的“软件 #3”
使用 .msi 扩展名重新安装“软件 #2”
重新安装带有 .msi 扩展名的“软件 #1”。
发送邮件确认部署成功
最后,第 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
如果结束
Wscript.Quit exitCode
【问题讨论】:
【参考方案1】:您需要将文件名放在引号中:
If objFSO.FileExists("C:\Inetpub\wwwroot\Enterprise\EnterpriseWS\web.config") = True Then
【讨论】:
我已经尝试并得到了错误:第 1 行字符 1 错误:下标超出范围代码:800A0009 Microsoft VBScript 运行时错误路径 = 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 If Wscript.Quit exitCode 你能给我们看整个剧本吗?该错误可能是因为您在调用脚本时没有在命令行中传递路径。以上是关于如何检查特定文件是不是存在以及使用哪个退出代码?的主要内容,如果未能解决你的问题,请参考以下文章