麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > VBScript > 正文

vbs實(shí)用軟件自造――Windows腳本應(yīng)用實(shí)例

2020-07-26 12:05:38
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
從Windows 98時(shí)代起,各種腳本文件不斷出現(xiàn),腳本文件的作用是為了實(shí)現(xiàn)各種腳本文件在 Windows 界面或 Dos 命令提示符下的直接運(yùn)行,微軟就在系統(tǒng)內(nèi)植入了一個(gè)基于 32 位 Windows 平臺(tái)、獨(dú)立的腳本運(yùn)行環(huán)境,并將其命名為“Windows Scripting Host(Windows 腳本宿主以下簡(jiǎn)稱WSH)”。
WSH 誕生后,在 Windows 系列產(chǎn)品中很快得到了推廣。除 Windows 98 外,微軟在 Internet Information Server、Windows ME、Windows 2000系列產(chǎn)品以及 Windows XP Professional等產(chǎn)品中都嵌入了 WSH。一般來(lái)說(shuō),各種軟件總要考慮多數(shù)人的習(xí)慣和需求,而對(duì)于一些個(gè)性化很強(qiáng)的需求,通用軟件則很難滿足。現(xiàn)在利用WSH,我們可以完成很多有趣又實(shí)用的功能,而且實(shí)現(xiàn)代碼非常簡(jiǎn)單,而且完全是為自己量身定做,100%滿足自己的需求。這么簡(jiǎn)單、實(shí)用有有趣的東西,怎么可以放過(guò)呢? 
一、WSH是怎么樣工作的
WSH正常工作的前提條件是系統(tǒng)中必須有IE3.0以上的版本,因?yàn)?nbsp;WSH 在工作時(shí)需要使用IE 中的 VBScript 和 JScript 解釋引擎。
首先,我們來(lái)看一個(gè)最簡(jiǎn)單的例子,打開(kāi)記事本,在其中寫下:
WScript.Echo("你好!電腦")
然后將它為以 .vbs 或 .js 為后綴名(千萬(wàn)不能保存為TXT文件,保存的時(shí)候在“文件類型”中選擇“所有文件”)的文件進(jìn)行保存,然后關(guān)掉這個(gè)記事本。從文件的圖標(biāo)來(lái)看已經(jīng)變成一個(gè)腳本文件,雙擊執(zhí)行這個(gè)文件,看看結(jié)果吧(如圖1),我們編輯的第一個(gè)腳本已經(jīng)成功運(yùn)行啦!
圖1
現(xiàn)在,就讓我們來(lái)看看腳本文件經(jīng)由WSH執(zhí)行的過(guò)程。首先WSH根據(jù)腳本文件后綴名,在系統(tǒng)注冊(cè)表中查詢所需的腳本引擎時(shí),如VBScript或者JScript。然后使用相應(yīng)的腳本引擎執(zhí)行腳本命令,其中,一些腳本指令會(huì)使用到WSH的內(nèi)置對(duì)象(如處理注冊(cè)表項(xiàng)),這時(shí),腳本指令就會(huì)向WSH提出請(qǐng)求,并由WSH完成這些指令。
那么,如何去編寫并運(yùn)行WSH腳本呢?WSH腳本文件的編寫十分方便,你可以選用任意一個(gè)文字編輯器進(jìn)行編寫,寫完后,你只需將它保存為 WSH 所支持的文件名就行了(如 .js 文件、.vbs 文件)。最常用的編輯器就是我們編寫第一個(gè)腳本文件用到的記事本(Notepad)了。

一、WSH初步
下面,我們來(lái)看看一些WSH的初步實(shí)例,其中每個(gè)實(shí)例可以實(shí)現(xiàn)一個(gè)簡(jiǎn)單的功能,在我們了解每個(gè)實(shí)例的功能后,我們會(huì)把這些例子綜合成一個(gè)非常實(shí)用的腳本,幫助你實(shí)現(xiàn)實(shí)用、個(gè)性化的強(qiáng)大功能。
1.在桌面創(chuàng)建快捷方式
WSHShell = WScript.CreateObject("WScript.Shell");
DesktopPath = WSHShell.SpecialFolders("Desktop");
Shortcut1 = WSHShell.CreateShortcut(DesktopPath + "http://記事本快捷方式.lnk");
Shortcut1.TargetPath = "c://Windows//notepad.exe";
Shortcut1.Save();
其中SpecialFolders這個(gè)函數(shù)是用來(lái)讀取桌面路徑的,取得桌面路徑后,在桌面上創(chuàng)建一個(gè)“/記事本快捷方式.lnk”的文件,并將這個(gè)快捷方式文件的目標(biāo)指向Notepad.exe,最后將這些信息保存,這個(gè)腳本的工作就完成了。

2.執(zhí)行特定的命令
下列這個(gè)示例會(huì)用記事本打開(kāi)“ C:/autoexec.bat”文件,并開(kāi)啟 DOS 命令窗口(并列出執(zhí)行 dir c:/Windows 的結(jié)果),程序代碼如下: 

// 產(chǎn)生 WSH Shell
shell = WScript.CreateObject("WScript.Shell");

// 開(kāi)啟記事本并加載 c:/autoexec.bat
shell.Run("notepad.exe c://autoexec.bat");

// 開(kāi)啟 DOS 命令窗口并執(zhí)行 dir c:/Windows
shell.Run("cmd /K dir c://Windows");


在上述范例中,所開(kāi)啟的應(yīng)用程序會(huì)保持開(kāi)啟狀態(tài),而 WSH 會(huì)持續(xù)執(zhí)行其后的程序代碼。若要等待應(yīng)用程序被關(guān)閉后,才繼續(xù)執(zhí)行其后的 WSH 程序代碼,可以在 run() 之后再加上其它參數(shù)。如我們需要在關(guān)閉Notepad后再繼續(xù)執(zhí)行,應(yīng)該怎么辦呢?

// 如何由 WSH 執(zhí)行其它應(yīng)用程序,并等待應(yīng)用程序結(jié)束后才繼續(xù)執(zhí)行 WSH 程序代碼
shell = new ActiveXObject("WScript.Shell");
intReturn = shell.Run("notepad " + WScript.ScriptFullName, 1, true);
shell.Popup("記事本已經(jīng)被關(guān)閉!");

3.列出一個(gè)特定目錄下的所有文件
//創(chuàng)建文件系統(tǒng)對(duì)象
fso = new ActiveXObject("Scripting.FileSystemObject");
//指向指定的文件夾
dir="c://Windows//temp";
fsofolder = fso.GetFolder(dir);
//搜集文件夾中包含的文件
colFiles = fsofolder.Files;
fc = new Enumerator( colFiles );
//顯示并繼續(xù)讀取其它文件的文件名直到完成
WScript.Echo("Files under /""+dir+"/":");
for (; !fc.atEnd(); fc.moveNext() ){
WScript.Echo(fc.item());
}
腳本執(zhí)行后會(huì)將指定目錄中(C:/windows/temp)的所有文件一一列出來(lái)。

4.顯示本機(jī)IP地址
ws = new ActiveXObject( "MSWinsock.Winsock" );
WScript.Echo("本機(jī)IP地址是:" + ws.LocalIP);
通過(guò)MSWinsock.Winsock這個(gè)函數(shù)將IP地址收集起來(lái)并進(jìn)行顯示。

5.列出磁盤驅(qū)動(dòng)器及其相關(guān)性質(zhì)

fso = new ActiveXObject("Scripting.FileSystemObject");
driveTypeNames=["未知類型", "可移動(dòng)磁盤", "硬盤", "網(wǎng)絡(luò)磁盤驅(qū)動(dòng)器", "光盤", "虛擬磁盤"];
e = new Enumerator(fso.Drives); 
s = "";
for (; !e.atEnd(); e.moveNext()) {
x = e.item();
WScript.Echo(x.DriveLetter+":")
WScript.Echo(" 磁盤類型:" + x.DriveType + " (" + driveTypeNames[x.DriveType] + ")");
WScript.Echo(" 共享名稱:" + x.ShareName);
WScript.Echo(" 磁盤是否就緒:" + x.IsReady);
if (x.IsReady){
WScript.Echo(" 卷標(biāo):" + x.VolumeName);
WScript.Echo(" 空間大小:" + x.AvailableSpace + "字節(jié)");
}
}
執(zhí)行了這個(gè)腳本以后會(huì)顯示出該磁盤驅(qū)動(dòng)器的類型、卷標(biāo)、空間大小、共享名稱等相關(guān)信息。

6.顯示當(dāng)前時(shí)間
today = new Date();
WScript.Echo("電腦迷為您報(bào)時(shí):"+today.toLocaleString());
除了這樣的方法之外,還有一種比較復(fù)雜一點(diǎn)的方法,可以顯示上、下午時(shí)間
function getTime() {
today = new Date();
hour = today.getHours();
minute = today.getMinutes();
second = today.getSeconds();
prepand = (hour>=12)? "下午":"上午";
hour = (hour>=12)? hour-12:hour;
str = "現(xiàn)在時(shí)間是"+prepand+hour+"點(diǎn)"+minute+"分"+second+"秒";
return(str);
}
WScript.Echo(getTime());

7.保存當(dāng)前的網(wǎng)頁(yè)
// 抓取一個(gè)網(wǎng)頁(yè),并將其內(nèi)容存入一個(gè)文件
inet=new ActiveXObject("InetCtls.Inet");
// 下載的網(wǎng)址
inet.Url="http://www.pcfans.net/index.htm";
// 設(shè)置超時(shí)
inet.RequestTimeOut=20;
// 下載文件
WScript.Echo("Downloading /""+inet.Url+"/"...");
content = inet.OpenURL();

// 寫入文件
fso = new ActiveXObject("Scripting.FileSystemObject");
forReading=1, forWriting=2;
fileName="test.htm";
fid=fso.OpenTextFile(fileName, forWriting, true);
fid.Write(content);
fid.Close();
WScript.Echo("從「"+inet.Url+"」抓到的 主站蜘蛛池模板: 一级黄色免费观看 | 日本一区二区视频在线观看 | 精品少妇v888av | 一级黄色性感片 | 手机av免费在线 | 欧美雌雄另类xxxxx | 国产精品成人久久 | 双性精h调教灌尿打屁股的文案 | 国产一国产一级毛片视频在线 | 国产91久久久久 | 一级国产航空美女毛片内谢 | 色屁屁xxxxⅹ免费视频 | 色婷婷av一区二区三区久久 | 亚洲网站在线观看 | 欧美精品亚洲人成在线观看 | 午夜国产精品成人 | 日日狠狠久久 | 国产精品区一区二区三区 | 国产精选在线 | 精品一区久久久 | 宅男噜噜噜66国产在线观看 | 毛片视频在线免费观看 | 毛片118极品美女写真 | 香蕉国产在线视频 | 国产成人在线看 | 国产精品久久久久久久久久久天堂 | 成人福利在线看 | 精品一区二区三区在线观看国产 | 亚洲国产资源 | 成人三区四区 | 久久久久久久久久亚洲精品 | 在线观看中文字幕av | 久久日本 | 2019中文字幕在线播放 | 激情亚洲一区二区三区 | 91看片淫黄大片欧美看国产片 | 天天撸日日夜夜 | xxxx69hd一hd72 | 欧美日韩电影在线 | 成人毛片在线 | 极品美女一级毛片 |