从VBScript运行批处理文件:找不到指定的文件(错误80070002)

时间:2019-01-05 06:17:48

标签: batch-file vbscript

我想使用VBScript执行批处理文件。当我使用此代码时,cmd.exe确实会运行,但只会运行一小段时间,并且批处理文件不会得到执行。

test.vbs:

Set WshShell = WScript.CreateObject("WScript.Shell") 
WshShell.Exec "test.bat"

但是当我运行此脚本时,它说它找不到指定的文件(错误80070002)。批处理文件在cmd.exe中工作正常。我尝试将echo hello放入批处理文件的脚本中,但没有任何效果!我已经将.vbs和.bat文件放在相同的目录中。 .bat文件仅输出一些字符串,使用超时命令并ping通IP地址

如何执行批处理文件?

1 个答案:

答案 0 :(得分:0)

  1. 我认为您应该工作正常。

  2. 重要问题:

    a。 .bat文件中到底是什么?也许它所做的事情在ShellExec / Shell.run中不起作用?

    b。您究竟如何开始VBS脚本?也许它甚至找不到test.bat文件?例如,.vbs可能在错误的工作目录中执行?

    c。您是否从.bat文件中调用另一个.bat文件?如果是这样,请始终使用“呼叫”。示例:“致电mysecondbat.bat”。

    d。 .bat文件的路径或文件名中是否有空格?如果是这样,您将需要“三倍空格”。示例:shell.run“”“ F:\ My Server \ My Path \ Test.bat”“”

  3. 建议:

    a。创建一个执行简单操作的“ test.bat”(例如“ echo Hello”)

    b。从命令提示符处运行.bat文件-确认没有问题。

    c。然后从同一命令提示符下运行.vbs,并验证.bat文件是否仍可以正常运行。

  4. 示例:

    testvbs.vbs:

    dim shell
    set shell=createobject("wscript.shell")
    shell.run "test.bat"
    set shell=nothing
    

    testbat.bat:

    echo I'm in testbat.bat!
    @PING localhost -n 6 >NUL
    

    在命令提示符下,键入“ testvbs.vbs”。应该会出现一个窗口,说“我在testbat.bat!”,然后在5秒钟左右后消失。

    与您的.vbs文件进行比较。用发现的内容更新您的帖子。