久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

vbScript中WScript.Shell對象的run和exec使用心得分享

 clhon 2011-07-12
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)
但在測試候,當拷的文件比大,,拷貝時間較長候就出現(xiàn)cmd窗口死在那里不了的情況,,直接在cmd窗口中運行pscp相同的文件就可以正常 束,。也找不到是什原因,于是改成run方法一下,,run方法是可以正常束的,,但是原來的代中有需要取得cmd的控制臺出信息,而run卻 不方便取得控制臺信息,,最后只能先把控制臺信息重定向到文件中,,然后程序在取。最后一下runexec兩個方法的區(qū)的一些理解:

兩個方法的聲明如下
Function Exec(ByVal Command As String) As WshExec

Function Run(ByVal Command As String, [ByVal WindowStyle], [ByVal WaitOnReturn]) As Integer

可以看出幾點區(qū)

1,,run的返回是一個整數(shù),,就是01成功和失兩個狀態(tài),而exec方法的返回是一個象,,從返回象中可以得控制臺出信息和控制臺錯誤信息,,即StdOutStdErr屬性等。例如:

Set exeRs = objws.Exec("pscp -r -scp -pw ,。,。。,。"

errMsg = exeRs.StdErr.ReadAll()

stdMsg = oExec.StdOut.ReadAll()

可以取道控制臺錯誤和控制臺信息,。
2Run 的后兩個參數(shù),,一個是cmd窗口的格,,一個是是否等待執(zhí)行完成。最后一個參數(shù)很有用,,如果你希望等待本次cmd執(zhí)行的程序束后,,在執(zhí) objws.Exec后面的句的,只要個參數(shù)true就可以了,,否后面的句將不等待cmd窗口完成,,直接運行(我們項目就有這個需求,從服務器上拷貝一個文件到本地后,,馬上要打開這個文件操作,如果文件沒有拷貝完就去操作就會出錯的,。),。另外,如果你使用exec 方法的候,,如果希望等待cmd中程序執(zhí)行完后,,在執(zhí)行后面的句,也可以通下面的方法:

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多