驱动器的编程对黑客编程来说至关重要。好在vbs给我们提供了方便的集合,使得工作变得很简单。
1、检查驱动器
使用filesystemobject的driveexists方法
例如:
setfs=createobject("scripting.filesystemobject")
iffs.driveexists("h")then
......
2、获得驱动器属性
可以使用getdrive方法,然后可以通过drive对象的属性或的驱动器的属性。常用属性有
drivetype:以整数形式返回驱动器的类型0表示unknown1表示可移动的2表示固定的3表示网络驱动器4表示cd-room
5表示ram盘
freespace:可用空间
totalsize:总空间
volumename:驱动器标卷
例如:
********************************************************
setfs=createobject("scripting.filesystemobject")
setdrv=fs.getdrive("D")
t=drv.drivetype
y=drv.freespace
wscript.echo"类型"&t
wscript.echo"可用空间"&y
*******************************************************
如果大家还记得的话,应该知道还有个drives集合,这个东西比前面所说得更方便,比如我们要得到系统上所有的驱动器可以得到这个集合,然后使用foreach来检查。另外,有时候我们要编制一个病毒,可能会要感染软盘,这个时候我们需要检查软盘是不是准备好了,看下面这个程序:
**********************************************************
wscript.echogetdrivelist()
functiongetdrivelist()'自定义函数
dimfs,d,dc,s,n,crlf
crlf=chr(13)&chr(10)
setfs=createobject("scripting.filesystemobject")
setdc=fs.drives'获得驱动器集合
foreachdindc
n=""
s=s&d.driveletter&"--"
ifd.drivetype=remotethen
n=d.sharename
elseifd.isreadythen
n=d.volumename
endif
s=s&n&crlf
next
getdrivelist=s
endfunction
***********************************************************
3、映射网络驱动器
网络共享对于脚本用户来说必须经过映射才能够使用。使用network对象的mapnetworkdrive方法可以实现映射。
setwn=wscript.createobject("wscript.network")
wn.mapnetworkdrive"k:","yayamusic",true
其中最后一个参数指定是不是永久的映射,如果不写最后一个参数,下次启动的时候,映射就会被取消。
如果要断开映射使用wn.removenetworkdrive"k:",true,true
如果网络驱动器正在使用中,要强制断开的话把第二个参数设置为true
第三个参数表示永久取消映射。