VBScript 命令 window - 传递命令语法
VBScript Command window - passing a command syntax
我正在尝试通过 VBS 在 cmd 窗口中获取到 运行 的命令。就像这个答案:
How to keep the VBScript command window open during execution
我要发出的命令是这样的,正如它在 .cmd 文件中所写的那样。
"\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec" /x86 /f "\path\folder\folder with space\Import.dtsx"
我一直无法按照上面答案的语法让它工作:
objShell.run "%comspec% /c ""SomeProgram.exe -R & pause""", 1, True
估计是双引号问题,但我找不到。
(我必须使用 dtexec 的整个路径来强制使用 16 位版本。)
跟进:=========================================== ============
这个有效:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec"" /x86 /f c:\temp\Import.dtsx & Pause", 1, True
这不是:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec"" /x86 /f ""c:\temp\temp two\Import.dtsx"" & Pause", 1, True
也不是这个:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec /x86 /f c:\temp\temp two\Import.dtsx"" & Pause", 1, True
文件名参数中的 space 正在处理它。
您不需要 pause
,只需告诉 CMD 在命令完成后保持 window 打开 (/k
) 而不是关闭它 (/c
) :
objShell.Run "%comspec% /k program.exe -R", 1, True
仅当路径中包含空格时才需要嵌套双引号,例如:
objShell.Run "%comspec% /k ""C:\some folder\program.exe"" -R", 1, True
编辑: 如果命令行中的参数是带空格的路径,则您需要在每个路径周围加上引号,并在整个语句周围加上另一组引号:
objShell.Run "%comspec% /c """"C:\some folder\program.exe"" /p ""foo bar"" & pause""", 1, True
我正在尝试通过 VBS 在 cmd 窗口中获取到 运行 的命令。就像这个答案: How to keep the VBScript command window open during execution
我要发出的命令是这样的,正如它在 .cmd 文件中所写的那样。
"\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec" /x86 /f "\path\folder\folder with space\Import.dtsx"
我一直无法按照上面答案的语法让它工作:
objShell.run "%comspec% /c ""SomeProgram.exe -R & pause""", 1, True
估计是双引号问题,但我找不到。
(我必须使用 dtexec 的整个路径来强制使用 16 位版本。)
跟进:=========================================== ============
这个有效:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec"" /x86 /f c:\temp\Import.dtsx & Pause", 1, True
这不是:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec"" /x86 /f ""c:\temp\temp two\Import.dtsx"" & Pause", 1, True
也不是这个:
oShell.Run "%comspec% /C ""\Program Files (x86)\Microsoft SQL Server0\DTS\Binn\dtexec /x86 /f c:\temp\temp two\Import.dtsx"" & Pause", 1, True
文件名参数中的 space 正在处理它。
您不需要 pause
,只需告诉 CMD 在命令完成后保持 window 打开 (/k
) 而不是关闭它 (/c
) :
objShell.Run "%comspec% /k program.exe -R", 1, True
仅当路径中包含空格时才需要嵌套双引号,例如:
objShell.Run "%comspec% /k ""C:\some folder\program.exe"" -R", 1, True
编辑: 如果命令行中的参数是带空格的路径,则您需要在每个路径周围加上引号,并在整个语句周围加上另一组引号:
objShell.Run "%comspec% /c """"C:\some folder\program.exe"" /p ""foo bar"" & pause""", 1, True