腳本編程 4 驅(qū)動器
更新時(shí)間:2007年02月25日 00:00:00 作者:
驅(qū)動器的編程對黑客編程來說至關(guān)重要。好在vbs給我們提供了方便的集合,使得工作變得很簡單。
1、檢查驅(qū)動器
使用filesystemobject的driveexists方法
例如:
set fs=createobject("scripting.filesystemobject")
if fs.driveexists("h") then
......
2、獲得驅(qū)動器屬性
可以使用getdrive方法,然后可以通過drive對象的屬性或的驅(qū)動器的屬性。常用屬性有
drivetype:以整數(shù)形式返回驅(qū)動器的類型 0表示unknown 1表示可移動的 2表示固定的 3表示網(wǎng)絡(luò)驅(qū)動器 4表示cd-room
5表示ram盤
freespace:可用空間
totalsize:總空間
volumename:驅(qū)動器標(biāo)卷
例如:
********************************************************
set fs=createobject("scripting.filesystemobject")
set drv=fs.getdrive("D")
t=drv.drivetype
y=drv.freespace
wscript.echo "類型" & t
wscript.echo "可用空間" & y
*******************************************************
如果大家還記得的話,應(yīng)該知道還有個(gè)drives集合,這個(gè)東西比前面所說得更方便,比如我們要得到系統(tǒng)上所有的驅(qū)動器可以得到這個(gè)集合,然后使用foreach來檢查。另外,有時(shí)候我們要編制一個(gè)病毒,可能會要感染軟盤,這個(gè)時(shí)候我們需要檢查軟盤是不是準(zhǔn)備好了,看下面這個(gè)程序:
**********************************************************
wscript.echo getdrivelist()
function getdrivelist() '自定義函數(shù)
dim fs,d,dc,s,n,crlf
crlf=chr(13)&chr(10)
set fs=createobject("scripting.filesystemobject")
set dc=fs.drives '獲得驅(qū)動器集合
for each d in dc
n=""
s=s &d.driveletter & "--"
if d.drivetype=remote then
n=d.sharename
elseif d.isready then
n=d.volumename
end if
s=s & n& crlf
next
getdrivelist=s
end function
***********************************************************
3、映射網(wǎng)絡(luò)驅(qū)動器
網(wǎng)絡(luò)共享對于腳本用戶來說必須經(jīng)過映射才能夠使用。使用network對象的mapnetworkdrive方法可以實(shí)現(xiàn)映射。
set wn=wscript.createobject("wscript.network")
wn.mapnetworkdrive "k:","\\yaya\music",true
其中最后一個(gè)參數(shù)指定是不是永久的映射,如果不寫最后一個(gè)參數(shù),下次啟動的時(shí)候,映射就會被取消。
如果要斷開映射使用wn.removenetworkdrive "k:",true,true
如果網(wǎng)絡(luò)驅(qū)動器正在使用中,要強(qiáng)制斷開的話把第二個(gè)參數(shù)設(shè)置為true
第三個(gè)參數(shù)表示永久取消映射。
1、檢查驅(qū)動器
使用filesystemobject的driveexists方法
例如:
set fs=createobject("scripting.filesystemobject")
if fs.driveexists("h") then
......
2、獲得驅(qū)動器屬性
可以使用getdrive方法,然后可以通過drive對象的屬性或的驅(qū)動器的屬性。常用屬性有
drivetype:以整數(shù)形式返回驅(qū)動器的類型 0表示unknown 1表示可移動的 2表示固定的 3表示網(wǎng)絡(luò)驅(qū)動器 4表示cd-room
5表示ram盤
freespace:可用空間
totalsize:總空間
volumename:驅(qū)動器標(biāo)卷
例如:
********************************************************
set fs=createobject("scripting.filesystemobject")
set drv=fs.getdrive("D")
t=drv.drivetype
y=drv.freespace
wscript.echo "類型" & t
wscript.echo "可用空間" & y
*******************************************************
如果大家還記得的話,應(yīng)該知道還有個(gè)drives集合,這個(gè)東西比前面所說得更方便,比如我們要得到系統(tǒng)上所有的驅(qū)動器可以得到這個(gè)集合,然后使用foreach來檢查。另外,有時(shí)候我們要編制一個(gè)病毒,可能會要感染軟盤,這個(gè)時(shí)候我們需要檢查軟盤是不是準(zhǔn)備好了,看下面這個(gè)程序:
**********************************************************
wscript.echo getdrivelist()
function getdrivelist() '自定義函數(shù)
dim fs,d,dc,s,n,crlf
crlf=chr(13)&chr(10)
set fs=createobject("scripting.filesystemobject")
set dc=fs.drives '獲得驅(qū)動器集合
for each d in dc
n=""
s=s &d.driveletter & "--"
if d.drivetype=remote then
n=d.sharename
elseif d.isready then
n=d.volumename
end if
s=s & n& crlf
next
getdrivelist=s
end function
***********************************************************
3、映射網(wǎng)絡(luò)驅(qū)動器
網(wǎng)絡(luò)共享對于腳本用戶來說必須經(jīng)過映射才能夠使用。使用network對象的mapnetworkdrive方法可以實(shí)現(xiàn)映射。
set wn=wscript.createobject("wscript.network")
wn.mapnetworkdrive "k:","\\yaya\music",true
其中最后一個(gè)參數(shù)指定是不是永久的映射,如果不寫最后一個(gè)參數(shù),下次啟動的時(shí)候,映射就會被取消。
如果要斷開映射使用wn.removenetworkdrive "k:",true,true
如果網(wǎng)絡(luò)驅(qū)動器正在使用中,要強(qiáng)制斷開的話把第二個(gè)參數(shù)設(shè)置為true
第三個(gè)參數(shù)表示永久取消映射。
相關(guān)文章
vbs實(shí)現(xiàn)恢復(fù)暫停的自動啟動服務(wù)的腳本
有時(shí)候我們需要把自啟動的服務(wù)停掉,方便我們處理事務(wù),但我們?nèi)绻淮瓮5舻淖詥臃?wù)比較多,如何一次性啟動他們呢2008-06-06VBS腳本實(shí)現(xiàn)遍歷批量替換多目錄多文件內(nèi)容的代碼
這篇文章主要介紹了VBS腳本實(shí)現(xiàn)遍歷批量替換多目錄多文件內(nèi)容的代碼,主要是結(jié)合了bat,實(shí)現(xiàn)這種效果,需要的朋友可以參考一下2018-12-12vbs輸入助手執(zhí)行會調(diào)用好多亂的進(jìn)程
用vbs實(shí)現(xiàn)輸入助手2008-05-05VBS中用CDO.Message發(fā)送郵件的實(shí)現(xiàn)代碼
曾經(jīng)在編寫VBS版U盤小偷程序的時(shí)候Google過怎么用VBS發(fā)送E-Mail,不知道為什么當(dāng)時(shí)Google不到,可能是眼花了吧。2011-01-01