【问题标题】:wshShell.Exec Error 80070002 "The system cannot find the file specified"wshShell.Exec 错误 80070002 “系统找不到指定的文件”
【发布时间】:2014-08-20 18:03:59
【问题描述】:

我正在尝试使用 wshShell.Exec 或 wshShell.Run 通过另一个脚本运行脚本。这两种方法我都试过了,两种方法都给我同样的错误。我已经用谷歌搜索了这个问题,但找不到任何似乎可以解决这个问题的东西。唯一真正相关的建议是尝试使用 wshShell.Run 而不是 Exec。

这是我脚本的相关部分:

strScriptPath = "T:\IT resources\Scripts\Shutdown Scripts"
strForceShutdown = "ForceShutdown.vbs"

  For j = 0 to 99
   Set objActive = wshShell.Run(strForceShutdown)
   ' In case I ever need to get this working to run it from another folder. 
   ' Set objActive = wshShell.Exec("cd " & strScriptPath & "")
   ' Set objActive = wshShell.Exec("wscript " & strForceShutdown & "") 
    constConf = MsgBox("Automatic shutdown initializing. Continue?" & chr(10) & "Y=Shutdown N=Postpone 30 minutes",4,"Automatic Shutdown Notification")

     If constConf = 7 Then
      objActive.Terminate
      Wscript.Sleep(1800000)

      Else
       objActive.Terminate
       Exit For
     End If
   Next

感谢您的帮助!

【问题讨论】:

    标签: shell vbscript exec wsh


    【解决方案1】:

    Shell.Runreturns an integer,所以你不能在它的返回值上调用一个方法(Terminate)。你也不能Set它,因为它不是一个对象。

    您可以通过运行它来调用您的关闭脚本。但是,给它完整路径,而不是相对路径。从任务计划程序启动的脚本通常具有与手动启动的不同的“起始文件夹”,因此不要依赖您的脚本相对地找到另一个。 此外,您必须在路径前后添加 Chr(34) 以说明任何空格。

    strForceShutdown = "c:\path\to\ForceShutdown.vbs"
    wshShell.Run Chr(34) & strForceShutdown & Chr(34)
    

    最后,为什么启动脚本然后问是否关机?为什么不在用户响应后启动您的脚本,然后您不必担心终止正在运行的进程。

    【讨论】:

    • 是的。看起来我只是读错了东西,并认为它返回了一个对象。无论如何,我以这种方式运行它,以便如果 30 分钟后没有选择任何选项,我可以让计算机关闭。否则,如果没有人在电脑前,就会卡在 MsgBox 线上。无论如何,感谢您的帮助!
    • 实际上,我需要进程可以终止。看起来唯一的方法是使用 Exec 方法。我通过在命令中添加“CMD”来实现它。 Terminate 方法仅适用于 Exec 设置的对象。所以看起来 Exec 确实返回了一个对象?因为当我这样对待它时它正在工作。在寻找有关 Terminate 的一些信息后,我在其他地方看到了它的建议。无论如何,我的脚本现在至少可以与 Exec 一起使用。
    • 您可以让消息框消失并执行默认操作。请参阅Shell 类的Popup 方法。如果返回-1,则表示计时器已过。
    • 因此,如果用户单击“是”关闭或弹出窗口在 30 分钟后超时,请使用 Shell.Run 启动关闭脚本。 If intResult = vbYes Or intResult = -1 Then wshShell.Run ...
    • 这肯定有助于简化我的脚本。感谢您的信息!
    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 2017-12-07
    • 2012-03-02
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-19
    相关资源
    最近更新 更多