WScript.Shell對象提供了run和exec兩個方法,,最近項目中需要在vbscript腳本中用pscp從linux服務器上copy文件,。本來使用了exec方法,,以下代碼 Set exeRs = objws.Exec("pscp -r -scp -pw " & password & " " & loginid & "@" & host & ":" & data_path & fileName & " " & windows_path) 這兩個方法的聲明如下 Function Run(ByVal Command As String, [ByVal WindowStyle], [ByVal WaitOnReturn]) As Integer 可以看出幾點區(qū)別: 1,,run的返回值是一個整數(shù),,就是0或1成功和失敗兩個狀態(tài),而exec方法的返回值是一個對象,,從返回對象中可以獲得控制臺輸出信息和控制臺錯誤信息,,即StdOut和StdErr屬性等。例如: Set exeRs = objws.Exec("pscp -r -scp -pw ,。,。。,。" errMsg = exeRs.StdErr.ReadAll() stdMsg = oExec.StdOut.ReadAll() 可以取道控制臺錯誤和控制臺信息,。 oExec.StdErr.ReadAll()或者oExec.StdOut.ReadAll(),,道理上也應該好理解,,要得到輸出的信息,,肯定要cmd執(zhí)行完后才會有輸出的。 參數(shù)的詳細信息可以參考msdn http://msdn.microsoft.com/zh-cn/library/ateytk4a(en-us,VS.85).aspx http://msdn.microsoft.com/zh-cn/library/d5fk67ky(en-us,VS.85).aspx |
|
來自: clhon > 《VBScript》