使用 VBScript(运行cscript
),我如何调用另一个命令程序(pscp
在这种情况下),这也需要用户输入等?
目的是最初的 VBScript 将收集参数(密码、用户等),然后是pscp
命令
pscp -r -pw password copyFromPath user@host:copyToPath
可以发出,用户将能够看到 pscp 命令的输出以及能够输入(例如,如果他们输入了错误的密码并需要再次输入)。
我目前有:
' create the command, that calls pscp from cmd
Dim comSpec : comSpec = objShell.ExpandEnvironmentStrings("%comspec%")
Dim command : command = comspec & " /C " & """" & "pscp -r -pw " & "^""" & (Replace(pscpPassword,"""","\^""")) & "^"" " _
& "^""" & (windowsPath) & "^"" " _
& pscpUser & "@" & pscpHostName & ":" & Replace(linuxPath," ","\ ") & """"
Dim objExec : Set objExec = objShell.Exec(command)
我想出的另一种生成command
方法是:
Dim command : command = "pscp -r -pw " & Chr(34) & Replace(pscpPassword,"""","\""") & Chr(34) & " " _
& Chr(34) & windowsPath & Chr(34) & " " _
& pscpUser & "@" & pscpHostName & ":" & Replace(linuxPath," ","\ ")
pscp
但是一旦被调用,这些都不允许我与之交互。
编辑
我打电话的事实pscp
几乎无关紧要。我可以调用任何要求用户输入并显示内容的stdout
程序stderr