Wscript.shell這個在雙引號里的名字,是WshShell即Win script host shell的名字(proid)。它在windows中可以執行環境相關程序(目前為止,我不懂我自己總結的這一句話。。。我總覺得有很多對象可以執行指定的腳本,我也不知道為何要制作這么多對象,每種對象都有何特點和共同之處)。他可對windows的外殼程序進行訪問。
一個體系是Windows腳本宿主對象模型(WSHOM) , Wscript是一個基於windows系統腳本宿主對象的根對象, 利用它可以創造兩種COM對象:WshShell 與 WshNetwork
COM對象即the Component Object Model,組件對象模型。COM組件是遵行COM規范編寫,以Win32動態鏈接庫(DLL)或可執行文件(EXE)形式發布的可執行二進制代碼,能夠滿足組建對框架的所有需求。
創建WshShell對象可以運行程序、操作注冊表、創建快捷方式、訪問系統文件夾、管理環境變量。
我准備用它運行一個vbs腳本(與bat腳本的不同:),這個腳本將啟動一個python虛擬環境,之后運行指定項目。(每次都啟停一個虛擬環境累不累,能不能一直保持這個虛擬環境?)
python有個apscheduler框架用於計划調度,但是總歸要開啟python和它的虛擬環境才可以使用這個apscheduler,否則不能后台以及開機即運行?
vbsRun方法
object.Run(strCommand, [intWindowStyle], [bWaitOnReturn])
【參數】
object
WshShell 對象。
strCommand
表示要運行的命令行的字符串值。包括要傳遞到可執行文件的所有參數。一般是你要執行的程序的路徑。
intWindowStyle
可選。表示程序窗口外觀的整數值。窗口的形式,0后台運行;1正常運行;2最小化;3最大化;缺省的話表示正常運行
請注意,並非所有程序都使用此信息。
bWaitOnReturn
可選。布爾值,表示在繼續執行腳本中的下一條語句之前,腳本是否等待執行完程序。
如果設為 true,則在執行完程序后才執行腳本,Run 方法返回由程序返回的任何錯誤代碼。
如果設為 false(默認值),則 Run 方法將自動在啟動程序后立即返回 0(不是錯誤代碼)。