第22章WSHWindowScriptHost基本介绍

上传人:无*** 文档编号:158872434 上传时间:2022-10-07 格式:PPT 页数:29 大小:508.02KB
收藏 版权申诉 举报 下载
第22章WSHWindowScriptHost基本介绍_第1页
第1页 / 共29页
第22章WSHWindowScriptHost基本介绍_第2页
第2页 / 共29页
第22章WSHWindowScriptHost基本介绍_第3页
第3页 / 共29页
资源描述:

《第22章WSHWindowScriptHost基本介绍》由会员分享,可在线阅读,更多相关《第22章WSHWindowScriptHost基本介绍(29页珍藏版)》请在装配图网上搜索。

1、第22章WSH(Window Script Host)基本介紹張智星jangmirlab.orghttp:/mirlab.org/jang台大資工系 MIR實驗室JavaScript 程式設計與應用:用於單機的WSH環境本章大綱n大綱n本章介紹 WSH 的背景及特色,以及入門範例,讓讀者對於 WSH 有基本的認識。n主題n22-1:背景及特色 n22-2:簡易範例 n22-3:呼叫其它應用程式n22-4:取用命令列參數n22-5:執行選項2/28JavaScript 程式設計與應用:用於單機的WSH環境22-1:背景及特色n本小節說明WSH的發展背景及相關特色。3/28JavaScript 程

2、式設計與應用:用於單機的WSH環境背景n在 Windows 98 之前,微軟的作業系統只有提供 DOS 的批次檔案進行重複的工作,例如設定執行命令的搜尋路徑、複製大量檔案等等。n隨Web 的風行,微軟發表了 WSH,是可以在作業系統進行直接執行的程式語言。n由於 JavaScript 和 VBScript 的完備性,使得 WSH 馬上成為在微軟作業系統上的標準底稿語言。對於不需要介面且重複性高的管理工作,可以直接從 DOS 命令列呼叫 WSH 的程式碼,也可以在檔案總管直接點選來執行。nWSH 是跟著 Windows NT 4 Option Pack 一起發行,同時也是 Windows 98

3、的一部份。4/28JavaScript 程式設計與應用:用於單機的WSH環境WSH的應用nWSH 最適合重複性高、不需要介面的工作。n備份或拷貝大量檔案。n建立大量帳號與密碼。n讀取環境變數或取得作業系統的相關資訊。n建立桌面的捷徑。n設定網路印表機。n設定網路相關資訊。n更改 Registry 的資訊。n抓取網頁的資訊。n與資料庫進行資料的存取。n進行大量資料的開啟與列印。5/28JavaScript 程式設計與應用:用於單機的WSH環境WSH的安裝(1/2)n我們須將它以 Windows 的附加元件型式來安裝。在安裝 Windows 系列時,會一併安裝 WSH。如果你不確定你的作業系統是否

4、已經安裝 WSH,可以在 DOS 視窗下輸入cscript,如果得到如下列的回應(請見次頁),就表示你的作業系統已經安裝了 WSH,而且版本是 5.8。6/28JavaScript 程式設計與應用:用於單機的WSH環境WSH的安裝(2/2)7/28n如果DOS 視窗無法執行 cscript,就表示此作業系統沒有安裝 WSH。你可以至 輸入wsh download來進行搜尋,就可找到 WSH 的下載網址。JavaScript 程式設計與應用:用於單機的WSH環境22-2:簡易範例n本小節將用簡單的範例來說明 WSH。8/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-1n

5、主題:使用JScript 來印出Hello world!n執行hello01.js檢視原始碼n程式碼n說明n通常以 JScript 撰寫的 WSH 檔案,附檔名通常是 js,作業系統也會將以 JScript 為主的 WSH 底稿引擎關聯到此種類型的檔案。n在WSH要印出訊息所用的函數是 WScript.Echo,這和用戶端以及伺服器端的 JavaScript 所用的列印函數都不同。/如何印出 Hello World!WScript.Echo(Hello world!);9/28JavaScript 程式設計與應用:用於單機的WSH環境JavaScript 列印函數的比較n在用戶端的網頁(Cli

6、ent-side script in HTML):ndocument.write()n在伺服器端的 ASP(Server-side script in ASP):nResponse.Write()n在單機上的 WSH(Standalone script in WSH):nWScript.Echo()10/28JavaScript 程式設計與應用:用於單機的WSH環境執行方式n你可以使用任意文字編輯器產生此檔案後,然後再用下列三種不同的方式來執行:n在 DOS 視窗下輸入cscript hello01.js,就可以在 DOS 視窗印出Hello world!。n在 DOS 視窗下輸入wscrip

7、t hello01.js,就會開啟一個灰色小視窗,印出Hello world!。n直接在檔案總管點選 hello01.js,並產生與第二個方法相同的灰色小視窗。11/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-2n主題:使用 VBScript來印出Hello world!n執行hello01.vbs檢視原始碼n程式碼n說明n你也可以使用三種不同的方法來執行,所得到的結果和 hello01.js 將會一樣。n以 VBScript 撰寫的 WSH 檔案,附檔名通常是 vbs,作業系統也會將以 VBScript 為主的 WSH 底稿引擎關聯到此種類型的檔案。如何印出 He

8、llo World!WScript.Echo(Hello world!)12/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-3n主題:以wsf為附檔名撰寫WSH檔案n執行hello01.wsf檢視原始碼n程式碼n說明n同樣可以使用前述的三種方法來執行此檔案。n使用 wsf 附檔名的 WSH 檔案內容是以 XML呈現。n使用 wsf 的好處:n可以同時使用 JScript 和 VBScript 的程式碼。/使用 wsf 檔案來印出 Hello World!WScript.Echo(Hello World!);13/28JavaScript 程式設計與應用:用於單機的WS

9、H環境範例22-4n主題:同時使用JScript和VBScript於一個wsf檔案n執行hello02.wsf檢視原始碼n程式碼n說明n在一個wsf檔案中可以包含兩種不同的script。WScript.Echo(Hello world via JScript!);WScript.Echo(Hello world via VBScript!)14/28JavaScript 程式設計與應用:用於單機的WSH環境22-3:呼叫其它應用程式n本小節將以一些範例來示範如何以wsh呼叫其他應用程式。15/28JavaScript 程式設計與應用:用於單機的WSH環境呼叫其他應用程式的方法n以 JScrip

10、t 撰寫 WSH 時,下面兩列程式碼都可以產生 shell 物件。shell=WScript.CreateObject(WScript.Shell);shell=new ActiveXObject(WScript.Shell);16/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-5(僅適用於Win XP)n主題:呼叫錄音機在背景播放一個聲音檔案n執行audioPlay01.js檢視原始碼n程式碼n說明n欲執行其他應用程式,可先產生一個 WSH 的 shell 物件,然後再使用 run()函數來呼叫其他應用程式。nshell.Run(command,0)的第二個參數,0

11、代表不開啟所呼叫應用程式的視窗。1則表示開啟所呼叫應用程式的視窗。n當然也可以呼叫媒體播放器來播放,但因為媒體播放器太肥太慢了!所以使用錄音機來播放聲音檔案就可以了。n此範例僅適用於Win XP,其他平台可改用下列範例。audioFile=Windows XP 啟動.wav;shell=new ActiveXObject(Wscript.Shell);command=sndrec32/play/close +audioFile;shell.Run(command,0);17/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-5(2)n主題:呼叫小畫家並開啟一圖檔n執行im

12、ageDisplay01.js檢視原始碼n程式碼n說明n欲執行其他應用程式,可先產生一個 WSH 的 shell 物件,然後再使用 run()函數來呼叫其他應用程式。nshell.Run(command,0)的第二個參數,0代表不開啟所呼叫應用程式的視窗。1則表示開啟所呼叫應用程式的視窗。/使用小畫家顯示影像檔案imageFile=annie.jpg;shell=new ActiveXObject(Wscript.Shell);command=mspaint +imageFile;shell.Run(command,1);18/28JavaScript 程式設計與應用:用於單機的WSH環境範例

13、22-6n主題:使用WSH開啟記事本並載入文件n執行run01.js檢視原始碼n程式碼重點n說明n所開啟的應用程式會保持開啟狀態,WSH會持續執行其後的程式碼。n若要等待應用程式被關閉後,才繼續執行其後的 WSH 程式碼,可以在 run()之後再加上第三個參數。shell=WScript.CreateObject(“WScript.Shell”);shell.Run(“cmd/K dir”);shell.Run(“wordpad.exe run01.js”);19/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-8n主題:打開小算盤,並顯示相關的資訊n執行exec01.

14、js檢視原始碼n程式碼n說明nwhile(oExec.Status=0)WScript.Sleep(100);這行程式碼,若程式未開啟,將會持續等待,直至開啟完畢。n最後三行,會讓程式印出相關訊息。WshShell=new ActiveXObject(“WScript.Shell”);oExec=WshShell.Exec(“calc.exe”);while(oExec.Status=0)WScript.Sleep(100);WScript.Echo(Status=+oExec.Status);WScript.Echo(ProcessID=+oExec.ProcessID);WScript.E

15、cho(ExitCode=+oExec.ExitCode);20/28JavaScript 程式設計與應用:用於單機的WSH環境22-4:取用命令列參數n本小節將介紹如何抓取命令列參數,讓 WSH 更具彈性。21/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-9n主題:如何一一印出命令列的參數n執行cmdArgument01.js檢視原始碼n程式碼重點n說明n在 DOS 命令視窗輸入:cscript cmdArgument01.js Monday Tuesday Wednesday“可得到No.of arguments=3 args(0)=Monday args(1)

16、=Tuesday args(2)=Wednesday的結果nargs.Count()和 args.length 都是代表輸入參數的個數。WScript.Echo(No.of arguments=“+WScript.Arguments.Count();for(i=0;iargs.length;i+)WScript.Echo(args(+i+)=+args(i);22/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-10n主題:如何逐次播放音效檔案n執行audioPlay02.js檢視原始碼n程式碼n說明n可以在 DOS 視窗輸入如下:cscript audioPlay02

17、.js chimes.wav notify.wav ding.wav 極可聽到三個音效連續播放的聲音。n上述三個音效檔案,都已經放在範例目錄之下。若要尋找更多的音效檔案,可以到 c:windowsmedia 目錄尋找。n此範例僅適用於 Win XP。args=WScript.Arguments;shell=new ActiveXObject(Wscript.Shell);for(i=0;iargs.length;i+)command=sndrec32/play/close“+args(i);shell.Run(command,0,true);23/28JavaScript 程式設計與應用:用於

18、單機的WSH環境22-5:執行選項n本小節將介紹如何以選項來指定執行的方式。24/28JavaScript 程式設計與應用:用於單機的WSH環境列出執行選項(1)n由 DOS 視窗輸入cscript/?列出執行選項說明25/28JavaScript 程式設計與應用:用於單機的WSH環境列出執行選項(2)n若在 DOS 視窗輸入”wscript/?”,也會得到類似的選項說明26/28JavaScript 程式設計與應用:用於單機的WSH環境不顯示微軟的Logon當直接在 DOS 視窗輸入cscript hello01.js時n如果不想顯示Microsoft(R).這些字眼,可以在 DOS 視窗輸

19、入cscript hello01.js/Nologo27/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-11(1)n主題:對個別的 WSH 檔案來設定執行選項n連結:執行結果檢視原始碼n程式碼重點n說明:n我們可以使用滑鼠右鍵點選 hello01.js,選取內容後,再選取Script。n勾選在指定秒數之後,停止Script,並選擇5秒,且不勾選當 Script 在命令主控台執行時顯示標誌,按下確定後,會在同一個目錄下產生一個檔案 hello01.wsh。ScriptFile Path=D:usersjangbookswshexamplehello01.js Optio

20、ns Timeout=5 DisplayLogo=028/28JavaScript 程式設計與應用:用於單機的WSH環境範例22-11(2)n說明n此檔案記錄 hello01.js 在執行時的選項,Path=.代表對應的 WSH 檔案的路徑,Timeout=5表示執行的最長的時間是 5 秒(若超過此時間,系統會中斷程式碼的執行),DisplayLogo=0代表在 DOS 視窗執行時,不顯示微軟的標誌。nhello01.js 經過了這樣的設定,其效果就完全等效於在 DOS 視窗輸入cscript hello01.js/T:5/Nologo。n我們可將Path=.改成相對路徑,如此可以同時搬動 hello01.js 和 hello01.wsh,而不必再更改Path=.這一列。n以上的方法是針對每個 WSH 檔案可以設定個別的執行選項。若要設定整體的 WSH 選項,只要在 DOS 視窗輸入”wscript”,就可以設定此選項,設定方式於前述相同。29/28

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!