Vbscript cmd中应为语句结尾

Vbscript cmd中应为语句结尾,vbscript,Vbscript,为什么我总是得到预期的结束声明 Set oShell = WScript.CreateObject("WScript.Shell") oShell.run "cmd.exe /C "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:bla@bla:1234/bla/" -is -eol on -o -rp "D:\ST_test" -cfgl "12.45.

为什么我总是得到预期的结束声明

Set oShell = WScript.CreateObject("WScript.Shell")  

oShell.run "cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:bla@bla:1234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6"
因为VBScript中的“必须由“”转义,并且关闭)是伪造的:

>> s = "cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:b
la@bla:1234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6")
>>
Error Number:       1025
Error Description:  Expected end of statement
>> s = "cmd.exe /C  ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd"" co -p ""bl
a:bla@bla:1234/bla/"" -is -eol on  -o  -rp ""D:\ST_test"" -cfgl  ""12.45.6"""
>> WScript.Echo s
>>
cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:bla@bla:1
234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6"
>>
因为VBScript中的“必须由“”转义,并且关闭)是伪造的:

>> s = "cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:b
la@bla:1234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6")
>>
Error Number:       1025
Error Description:  Expected end of statement
>> s = "cmd.exe /C  ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd"" co -p ""bl
a:bla@bla:1234/bla/"" -is -eol on  -o  -rp ""D:\ST_test"" -cfgl  ""12.45.6"""
>> WScript.Echo s
>>
cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bla:bla@bla:1
234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6"
>>

如果是这样的话,那么很可能是您的命令被激活失败了

Set oShell = WScript.CreateObject("WScript.Shell")  

oShell.run "cmd.exe /C ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd.exe"" co -p ""bla:bla@bla:1234/bla/"" -is -eol on -o -rp ""D:\ST_test"" -cfgl  ""12.45.6"""
您是否在“D:\ST_test”之前检查了您的-rp命令,因为从2009年的文档[Here]中可以看出,只使用了rw或ro

不管怎样,我不知道星际队,这不是答案。但由于背后的参数,该声明似乎失败了

要正确测试它,请进入命令提示符并复制并通过以下步骤:

cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bl
a:bla@bla:1234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6"

看看它是如何工作的,或者它是否告诉您要修复的错误

如果是这种情况,那么很可能是您的命令被激活失败了

Set oShell = WScript.CreateObject("WScript.Shell")  

oShell.run "cmd.exe /C ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd.exe"" co -p ""bla:bla@bla:1234/bla/"" -is -eol on -o -rp ""D:\ST_test"" -cfgl  ""12.45.6"""
您是否在“D:\ST_test”之前检查了您的-rp命令,因为从2009年的文档[Here]中可以看出,只使用了rw或ro

不管怎样,我不知道星际队,这不是答案。但由于背后的参数,该声明似乎失败了

要正确测试它,请进入命令提示符并复制并通过以下步骤:

cmd.exe /C  "c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd" co -p "bl
a:bla@bla:1234/bla/" -is -eol on  -o  -rp "D:\ST_test" -cfgl  "12.45.6"
看看它是如何工作的,或者它是否告诉您要修复的错误

找到了解决方案:

Set oShell = WScript.CreateObject("WScript.Shell")  

oShell.run "cmd /K ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd.exe"" co -p 123:123@123.com:7777/123/ -is -eol on -o -rp D:\ST_test -cfgl  3.1.006"
谢谢大家

找到了解决方案:

Set oShell = WScript.CreateObject("WScript.Shell")  

oShell.run "cmd /K ""c:\Program Files (x86)\Borland\StarTeam Cross-Platform Client 2008 R2\stcmd.exe"" co -p 123:123@123.com:7777/123/ -is -eol on -o -rp D:\ST_test -cfgl  3.1.006"


谢谢大家

在使用oShell.run时,您是否尝试过在命令中使用单引号而不是双引号?否,它将注释掉命令。否,它不会。试试这个
oShell.run“cmd.exe/C'C:\ProgramFiles(x86)\Borland\StarTeam跨平台客户端2008 R2\stcmd'co-p'bla:bla@bla:1234/bla/'-is-eol on-o-rp'D:\ST_test'-cfgl'12.45.6'
您在使用oShell时是否尝试过在命令中使用单引号而不是双引号。运行?否,它将注释掉命令否它不会。试试这个
oShell.run“cmd.exe/C'C:\ProgramFiles(x86)\Borland\StarTeam跨平台客户端2008 R2\stcmd'co-p'bla:bla@bla:1234/bla/'-is-eol on-o-rp'D:\ST_test'-cfgl'12.45.6'
对不起,伙计们还是没用,继续“C:\program未被识别为内部…命令、可操作程序或批处理文件错误消息表明您没有引用第一个参数。理论上,复制/粘贴到控制台提示符时,我的演示的回声输出应该可以工作。@Newton,Ekkehard是对的。但看起来你复制了错误的字符串。并尝试粘贴一个变量。只是为了核实一下。它应该是“s=”…之后的所有内容,因此复制并粘贴此->“cmd.exe/C”C:\Program Files(x86)\Borland\StarTeam Cross Platform Client 2008 R2\stcmd“co-p”bl a:bla@bla:1234/bla/“”-is-eol on-o-rp“D:\ST_test”“-cfgl”“12.45.6”“已尝试,问题是命令路径中存在空格,脚本被卡在c:\program上,这意味着在第一个空格中我还有另一个问题,如果我使用wshshell.exec,如何从控制台获得实时输出?抱歉,伙计们,仍然没有任何效果,继续“C:\program未被识别为内部…命令、可操作程序或批处理文件错误消息表明您没有引用第一个参数。理论上,复制/粘贴到控制台提示符时,我的演示的回声输出应该可以工作。@Newton,Ekkehard是对的。但看起来你复制了错误的字符串。并尝试粘贴一个变量。只是为了核实一下。它应该是“s=”…之后的所有内容,因此复制并粘贴此->“cmd.exe/C”C:\Program Files(x86)\Borland\StarTeam Cross Platform Client 2008 R2\stcmd“co-p”bl a:bla@bla:1234/bla/“”-is-eol on-o-rp“D:\ST_test”“-cfgl”“12.45.6”“已尝试,问题是命令路径中存在空格,脚本被卡在c:\program上,这意味着在第一个空格中我有另一个问题,如果我使用wshshell.exec,如何从控制台获得实时输出?我得到了与以前相同的错误,这在我使用“exec”命令时有效,但我没有从控制台获得实时输出,只有一个黑色的空控制台窗口我得到了与以前相同的错误,这在我使用“exec”命令时有效,但是我没有从控制台获得实时输出,只有一个黑色的空控制台窗口