VBScript (run through 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