Windows 检查通过VBScript运行的批处理文件时出错

Windows 检查通过VBScript运行的批处理文件时出错,windows,batch-file,vbscript,Windows,Batch File,Vbscript,我不确定为什么InstallResult在我的VBScript中总是返回1。我已经在批处理文件中添加了一个echo,以确认是否在复制之前删除了源文件,它将返回一个4,如果成功,它将不返回任何内容。任何帮助都将不胜感激。我的文件应执行以下操作: 将脚本从网络共享复制到本地计算机 运行批处理文件以安装office(目前有一些用于错误检查的测试代码)。批处理文件应运行并在退出时发布错误代码,如果成功,则发布0 返回VBScript进行错误检查,然后运行另一个清理VBScript 这是我的密码: 运行安

我不确定为什么
InstallResult
在我的VBScript中总是返回1。我已经在批处理文件中添加了一个echo,以确认是否在复制之前删除了源文件,它将返回一个4,如果成功,它将不返回任何内容。任何帮助都将不胜感激。我的文件应执行以下操作:

  • 将脚本从网络共享复制到本地计算机
  • 运行批处理文件以安装office(目前有一些用于错误检查的测试代码)。批处理文件应运行并在退出时发布错误代码,如果成功,则发布0
  • 返回VBScript进行错误检查,然后运行另一个清理VBScript
  • 这是我的密码:

    运行安装bat(VBScript)

    Dim objshell,InstallResult
    模糊FSO
    设置FSO=CreateObject(“Scripting.FileSystemObject”)
    FSO.CopyFile“\\altiristdata\AssetMgmt\Tools\WSM\DeleteOffice13Package.vbs”,“C:\source\DeleteOffice13Package.vbs”
    'DeleteMS2013FilePath=objShell.run(“c:\source\DeleteOffice13Package.vbs”,0,True)
    WScript.sleep3000
    设置objShell=WScript.CreateObject(“WScript.Shell”)
    InstallResult=objShell.run(“cscript.exe C:\source\Microsoft\u Office\u 2013\u 01\install.bat”,0,True)
    Echo InstallResult
    如果InstallResult为0,则WScript.Echo“无法安装Microsoft Office 2013。请手动检查安装结果”
    如果InstallResult=0,则
    DeleteDelScript=objShell.Run(“cscript.exe c:\source\DeleteOffice13Package.vbs”,0,True)
    如果结束
    如果DeleteDelScript=0,则
    删除文件(“C:\source\DeleteOffice13Package.vbs”)
    如果结束
    设置FSO=无
    WScript.Quit
    
    安装.bat

    @echo关闭
    xcopy“C:\source\test-reach\test.txt”“C:\Temp\Temp1\test”/y
    如果%errorlevel%neq 0(
    退出/b%errorlevel%
    )
    出口
    
    返回值为1,因为您试图使用VBScript解释器运行批处理脚本:

    InstallResult=objShell.run(“cscript.exe C:\sourc…l.bat”,0,True)
    从命令行中删除
    cscript.exe
    ,或将其替换为
    %COMSPEC%/c

    InstallResult=objShell.run(“%COMSPEC%/c:\sourc…l.bat”,0,True)

    作为补充说明,您不应该在批处理脚本中需要条件。仅返回errorlevel就足够了:

    @echo关闭
    xcopy“C:\source\test-reach\test.txt”“C:\Temp\Temp1\test”/y
    退出/b%errorlevel%