【问题标题】:Plink scripting with vbs使用 vbs 编写 Plink 脚本
【发布时间】:2015-05-15 03:15:22
【问题描述】:

我制作了一个脚本来询问用户输入并将其放在 vbs 脚本中以运行程序。我还不算太远,但它给了我一个无效字符的错误。我不确定我做错了什么......

' "strIP" 是用户输入的IP地址 strIP = InputBox("请输入接入点的IP地址") ' "strUser" 是用户输入的用户名 strUser = InputBox("请输入接入点的用户名") ' "strPass" 是用户输入的密码 strPass = InputBox("请输入接入点密码") 设置 objShell = WScript.CreateObject("WScript.Shell") ' 使用提供的用户输入数据运行 Plink 的命令。 Plink = "C:/Program Files (x86)/plink/plink.exe" sPlinkOptions = "-ssh -pw" sCommand = """" & Plink & sPlinkOptions & strPass & """ """ & strUser & ""@"" & strIP objShell.Exec(sCommand)

我确定我的错误是最后一行,但我的脚仍然湿透了,不确定。我实际上是在尝试运行一个 bat 命令,该命令从 VBscript 接收其变量,并且不想制作 2 个单独的文件来这样做。

【问题讨论】:

  • 添加:“WScript.Echo sCommand”(无引号)并注释掉最后一行。这会将您构建的 sCommand 行打印到控制台,以便您可以看到它 - 也许这会告诉您出了什么问题。
  • 试过了,错误在第13行分配给sCommand,而不是exec

标签: vbscript


【解决方案1】:

问题在于引号,取决于您想要的输出。尝试类似:

sCommand = """" & Plink & sPlinkOptions & " " & strPass & " " & strUser & "@" & strIP & """"
wscript.echo sCommand

"C:/Program Files (x86)/plink/plink.exe -ssh -pw password username@127.0.0.1"

解释器不喜欢 @ 符号周围的引号。 ""@"" 无效。 """@""" 本来可以工作的。

【讨论】:

  • 这让我看到它报告了正确的信息,但是如果我放回 objshell.exec(command) 中,它仍然会在第 13 行字符 1 处出现错误,它无法找到该文件。
猜你喜欢
  • 2021-02-07
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-04
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多