如何检查特定文件是不是存在以及使用哪个退出代码?

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 你能给我们看整个剧本吗?该错误可能是因为您在调用脚本时没有在命令行中传递路径。

以上是关于如何检查特定文件是不是存在以及使用哪个退出代码?的主要内容,如果未能解决你的问题,请参考以下文章

检查文件是不是存在以及是不是包含特定字符串

如何检查文件是不是存在于android设备的特定文件夹中

Java中如何检查文件是不是存在于目录中

如何在python中以自动方式检查文件夹中是不是存在特定文件

如何检查图像是不是存在于特定位置?

如何创建一个批处理文件来检查文件夹中是不是存在四个特定的文件/文件夹?