WSH是微軟腳本技術(shù)系列中的一種,簡(jiǎn)單講,就是提供了一種腳本環(huán)境,在這個(gè)環(huán)境中,預(yù)定義了一些對(duì)象,同時(shí)也可以使用COM里的其他對(duì)象。他使用一種腳本引擎來(lái)對(duì)腳本解釋執(zhí)行,微軟自己支持VBSCRIPT和JSCRIPT,第三方也可以開(kāi)發(fā)自己的腳本引擎。
具體點(diǎn)來(lái)說(shuō),就是你先編好一些腳本文件(微軟自帶例子若干,后綴.vbs或 .js),然后用一個(gè)程序?qū)λ忉寛?zhí)行,這個(gè)程序就叫Windows Scripting Host,程序的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的機(jī)器里有沒(méi)有這兩個(gè)文件,就知道有沒(méi)有WSH了。(win2000是在winnt/system32/下)這非常像批處理文件,只不過(guò)文件里不是命令行,而是腳本語(yǔ)言寫的腳本。
再來(lái)簡(jiǎn)單介紹一下WSH自帶的幾個(gè)內(nèi)置對(duì)象包括:
1.由 Wscript.exe 提供的對(duì)象
Wscript 作為 Wscript 公開(kāi)給腳本引擎。
WshArguments 未公開(kāi);通過(guò) Wscript.Arguments 屬性訪問(wèn)。
2.由 WSHom.Ocx 提供的對(duì)象。
WshShell 自動(dòng)對(duì)象。ProgID 是 Wscript.WshShell。(注:這個(gè)就是我們要用到的,可以執(zhí)行dos命令)
WshNetwork 自動(dòng)對(duì)象。ProgID 是 Wscript.WshNetwork。
WshShortcut 未公開(kāi);通過(guò) WshShell.CreateShortcut 方法訪問(wèn)。
WshUrlShortcut 未公開(kāi);通過(guò) WshShell.CreateShortcut 方法訪問(wèn)。
WshCollection 未公開(kāi);通過(guò) WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法訪問(wèn)。
WshEnvironment 未公開(kāi);通過(guò) WshShell.Environment 屬性訪問(wèn)。
WshSpecialFolders 未公開(kāi);通過(guò) WshShell.Folder 屬性訪問(wèn)。
他們主要可以完成環(huán)境變量的獲取,網(wǎng)絡(luò)登陸,驅(qū)動(dòng)器映射,快截方式創(chuàng)建,程序加載,特殊文件夾(如系統(tǒng)文件夾)信息獲取等功能。
如果你的系統(tǒng)里支持ADO等COM部件,你同樣可以使用,下面這個(gè)例子演示打開(kāi)寫字板查看文本文件,同時(shí)創(chuàng)建一個(gè)文本文件并寫入一段話,你可以把他拷貝到寫字板中,然后以.vbs為后綴存盤,之后雙擊他,
'test.vbs
'下面用SHELL對(duì)象啟動(dòng)程序
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
用COM對(duì)象Scripting.FileSystemObject操作文本文件
Set fs = Wscript.CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c: estfile.txt", True)
a.WriteLine("這是一個(gè)測(cè)試。")
a.Close
也可以在asp等web編程語(yǔ)言中應(yīng)用
現(xiàn)在我們言歸正傳來(lái)看看如何對(duì)文件進(jìn)行壓縮和解壓!
大家都知道winzip對(duì)文件解壓和壓縮都易如反掌,但是如何通過(guò)程序和命令行對(duì)其調(diào)用呢?
當(dāng)然winzip的作者已經(jīng)開(kāi)發(fā)出
WinZip Command Line Support Add-On Version 1.0
下載后,直接安裝就可以!
就會(huì)在winzip的目錄中產(chǎn)生winzip命令行幫助文件和程序WZZIP.exe,WZUNZIP.EXE。
你可以開(kāi)始運(yùn)行里調(diào)用:
如:"c:program fileswinzipwzzip" myfile.zip
也可以拷貝這里兩個(gè)文件到任意目錄下,直接在dos窗口下運(yùn)行
如:wzzip.exe myfile.zip
你可以在系統(tǒng)的環(huán)境變量里加入set path=c:windows;c:program fileswinzip;
就可以在任何地方不用加入路經(jīng)調(diào)用了!
現(xiàn)在來(lái)簡(jiǎn)單的了解一下幫助中兩個(gè)命令的基本用法
壓縮文件用 WZZIP.exe :
通用格式:wzzip [options] zipfile [@listfile] [files...]
[options]包括:
-a 默認(rèn)的操作,壓縮文件
-a+ 壓縮文件,并刪除要壓縮的文件
-b[drive|path] 是在另外的驅(qū)動(dòng)器上創(chuàng)建臨時(shí)壓縮文件
-d 刪除zip文件中指定的目標(biāo)文件
-e
-f 替換zip文件中存在的文件
-h|-? 察看幫助
-v 創(chuàng)建一個(gè)壓縮文件的列表信息
-@list 先創(chuàng)建一個(gè)包含所有要解壓的文件的文件,然后按所包含的的文件名壓縮
...............(其他具體看幫助文件)
[@listfile] 是壓縮文件的列表信息紀(jì)錄
[files...] 則是要壓縮的多個(gè)文件,用空格隔開(kāi),也可以用通配符
例:
壓縮當(dāng)前目錄的所有文件
wzzip test.zip *.*
壓縮類型為txt的所有文件
wzzip test.zip *.txt
壓縮兩個(gè)文件
wzzip test.zip abc.txt def.txt
壓縮類型為txt的所有文件除了abc.txt
wzzip -xABC.TXT test.zip *.txt
壓縮D:docs下的所有類型為txt的文件及子目錄
wzzip -rp test.zip d:docs*.txt
把zipit.1st里的文件更新到test.zip
wzzip -u test.zip @Zipit.lst
列出一個(gè)壓縮文件的列表內(nèi)容
wzzip -v test.zip
解壓文件用WZUNZIP.exe :
通過(guò)格式:wzunzip [options] zipfile [@listfile] [path] [files...]
[options]包括:
-c[m] 解壓是顯示文件列表在dos屏幕中
-d 重建zip文件中的目錄結(jié)構(gòu)
-f 只解壓在zip文件里同目前文件夾存在的同名的文件,如果沒(méi)有則不解壓
-jhrs 忽視zip文件里的文件的隱藏、只讀、系統(tǒng)屬性
-Jhrs 只解壓帶有隱藏、只讀、系統(tǒng)屬性的文件
-n 只解壓叫新的文件,如果要解壓的文件比已存在的新則替換。
-o 不用通過(guò)yes來(lái)確定是否要替換文件
-v 創(chuàng)建一個(gè)壓縮文件的列表信息
-@list 先創(chuàng)建一個(gè)包含所有要解壓的文件的文件,然后按所包含的的文件名解壓
...............(其他具體看幫助文件)
例如:
創(chuàng)建所有文件到當(dāng)前目錄下
wzunzip test.zip
從test.zip中創(chuàng)建abc.txt到當(dāng)前目錄下
wzunzip test.zip abc.txt
創(chuàng)建在test.zip中的目錄結(jié)構(gòu)及文件到當(dāng)前目錄下
wzunzip -d test.zip
創(chuàng)建在test.zip中的目錄結(jié)構(gòu)及文件到c:docs下
wzunzip -d test.zip c:docs從test.zip中創(chuàng)建包含在files.ist中的文件名的文件
wzunzip test.zip @files.lst
顯示test.zip的文件列表內(nèi)容
wzunzip -v test.zip
顯示壓縮文件中所有類型為txt的文件列表內(nèi)容
wzunzip -v test.zip *.txt
有了以上的準(zhǔn)備,那么我們現(xiàn)在來(lái)編寫VBS來(lái)執(zhí)行文件解壓和壓縮就易如反掌了:
'test.vbs
'上面用SHELL對(duì)象啟動(dòng)程序
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("c:wzzip.exe c: est.zip c:a.txt c:.txt")
'test.asp
'上面用SHELL對(duì)象啟動(dòng)程序
如果我們?cè)侔盐募蟼骱痛私Y(jié)合起來(lái),就會(huì)產(chǎn)生很多使用的功能。如:
在用上傳組件上傳多個(gè)文件后,可以對(duì)其多個(gè)文件打包,以提供給其他人zip文件下載。
或者上傳一個(gè)zip文件后,可以利用程序?qū)ζ浣鈮,以提供給其他人單個(gè)文件下載。
本文是創(chuàng)新互聯(lián)網(wǎng)站建設(shè)小編經(jīng)總結(jié)而作。文中難免有疏漏的地方
服務(wù)器被訪問(wèn)的速度由哪些因素決定 :下一篇