Command line 通过带参数的VBS运行命令行

Command line 通过带参数的VBS运行命令行,command-line,vbscript,Command Line,Vbscript,这件事让我很难受。我可以在命令提示符下成功运行以下命令,但无法使用VB脚本 从CMD: 将目录更改为C:\Program Files(x86)\VMware\VMware Workstation\ 然后运行:vmrun.exe-T ws start“C:\Users\Office\Documents\Virtual Machines\windows7\windows7.vmx”nogui 我在VBS中尝试的内容: Dim objShell, strPath1, strAttr, strPath2

这件事让我很难受。我可以在命令提示符下成功运行以下命令,但无法使用VB脚本

从CMD:

  • 将目录更改为C:\Program Files(x86)\VMware\VMware Workstation\
  • 然后运行:vmrun.exe-T ws start“C:\Users\Office\Documents\Virtual Machines\windows7\windows7.vmx”nogui
  • 我在VBS中尝试的内容:

    Dim objShell, strPath1, strAttr, strPath2 
    Set objShell = CreateObject ("WScript.Shell")
    
    strPath1 = "C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"
    strAttr1 = " -T ws start "
    strAttr2 = "C:\Users\Office\Documents\Virtual Machines\Windows 7\Windows 7.vmx"
    strAttr3 = " nogui"
    
    'WScript.Echo strPath1 & strAttr1 & """" & strAttr2 & """" & strAttr3 
    
    objShell.Run strPath1 & strAttr1 & """" & strAttr2 & """" & strAttr3 
    

    我得到的错误是:系统找不到指定的文件。

    工作代码为:

    Dim objShell, strPath1, strAttr1, strAttr2, strAttr3
    Set objShell = CreateObject ("WScript.Shell")
    
    strPath1 = """C:\Program Files (x86)\VMware\VMware Workstation\vmrun.exe"""
    strAttr1 = " -T ws start "
    strAttr2 = """C:\Users\Office\Documents\Virtual Machines\Windows 7\Windows 7.vmx"""
    strAttr3 = " nogui"
    
    objShell.Run strPath1 & strAttr1 & strAttr2 & strAttr3
    

    我将替换objShell。运行strPath1&strAttr1&&strAttr2&&strAttr3

    运行strPath1&strAttr1&chr(34)&strAttr2&chr(34)&strAttr3

    或包括strAttr2变量前后的chr(34)

    strAttr2=chr(34)和“C:\Users\Office\Documents\Virtual Machines\windows7\windows7.vmx”&chr(34)


    顺便说一句,chr(34)=“

    我想你需要在每条路径上加上双引号!就是这样。它只是在查看回音输出时被忽略了,但它可以工作:)完整的代码最后是:
    Dim objShell,strPath1,stratr1,stratr2,stratr3 Set objShell=CreateObject(“WScript.Shell”)strPath1=“””C:\Program Files(x86)\VMware\VMware Workstation\vmrun.exe“”“strAttr1=“-T ws start”strAttr2=“”C:\Users\Office\Documents\Virtual Machines\windows7\windows7.vmx”““strAttr3=”nogui“'WScript.Echo strPath1&strAttr1&strAttr2&strAttr3”objShell.Run strPath1&strAttr1&strAttr2&strAttr2&”“&strAttr3 objShell。运行strPath1&strAttr1&strAttr2&strAttr3
    可能重复的变量,或创建一个已经有引号的变量,以连接cleaner var=chr(34)&strAttr2&chr(34)