1

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

4

1 に答える 1