【问题标题】:why CMD window get the parameter name and not the value of parameter为什么CMD窗口获取参数名称而不是参数值
【发布时间】:2013-08-08 01:40:31
【问题描述】:

我需要在 C:\Program Files\CONNECTION 下的 CMD 窗口中运行以下命令

 connect  "user_vip"

所以编写简短的 VB 脚本来执行此操作

Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
USERC = """user_vip"""
Wscript.Echo USERC
oShell.run "cmd /k CD C:\Program Files\CONNECTION & connect USERC   " ,1 , true

运行 VB 脚本后,我在 CMD 窗口中看到以下内容

connect USERC   

和我预期的不一样:

 connect  "user_vip"

为什么 oShell.run 中的 USERC 参数没有得到真正的值 - "user_vip" ??

  • 备注 - Wscript.Echo USERC 实际上打印值 - “user_vip”,正如我所料

【问题讨论】:

  • 很确定你需要引用路径,因为它包含空格
  • 如何:as - 连接“USERC” - 这会导致错误(预期语句结束)?
  • 我尝试分配组合为 USERC = """""user_vip""""" 或 USERC = """ user_vip """ etc ...或 "USERC" .. 也不起作用-:(

标签: windows vbscript cmd


【解决方案1】:

VBScript 不会将变量内容插入到字符串文字中,并且 shell 命令中包含空格/空格的路径需要引号(" 转义为 ""),因此请更改

oShell.run "cmd /k CD C:\Program Files\CONNECTION & connect USERC   " ,1 , true

oShell.run "cmd /k CD ""C:\Program Files\CONNECTION"" & connect " & USERC, 1, True

更新评论:

>> userc = "abc"
>> WScript.Echo "cmd /k CD ""C:\Program Files\CONNECTION"" & connect " & USERC
>>
cmd /k CD "C:\Program Files\CONNECTION" & connect abc

【讨论】:

  • 不工作 _ 因为 char " 在 connect 之后(我得到预期的语句结尾)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多