你需要一個殼特徵外殼(例如重定向)。所以在你的命令前加上「%comspec%/ c」。
您是否知道.Exec允許讀取被調用進程的StdOut/StdErr?
證據:
>> f = "c:\temp\pscp.log"
>> c = "pscp -pw pword -ls [email protected]:/home"
>> set s = CreateObject("WScript.Shell")
>> WScript.Echo s.Run(c & " > " & f, 0, True)
>> WScript.Echo s.Run("%comspec% /c " & c & " > " & f, 0, True)
>> WScript.Echo goFS.OpenTextFile(f).ReadAll()
>> WScript.Echo s.Exec(c).Stdout.ReadAll()
>>
1 <-- no shell/%comspec%, no luck
0 <-- it did not fail
Listing directory /home <-- .Run did work with shell
drwxr-xr-x 5 root root 4096 Feb 22 2011 .
...
Listing directory /home <-- .Exec().Stdout.ReadAll() works
drwxr-xr-x 5 root root 4096 Feb 22 2011 .
...
感謝,但它並沒有爲我工作。在第6行上拋出錯誤char 1 - 所需的goFS對象。 – user3493540
@ user3493540 - 它是*證據*不是'準備好複製和粘貼代碼'。請問自己什麼對象有一個.OpenTextFile方法。你試過'%comspec%/ c'加法嗎? –
這是我在腳本編寫中的第一個任務,所以我完全不知道我在做什麼。我會很高興,如果我可以通過pscp傳輸該文件開始... – user3493540