Command line 通过带参数的VBS运行命令行
这件事让我很难受。我可以在命令提示符下成功运行以下命令,但无法使用VB脚本 从CMD: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
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)