脚本编程 4 驱动器

时间:2022-06-01 20:10:43

驱动器的编程对黑客编程来说至关重要。好在vbs给我们提供了方便的集合,使得工作变得很简单。 

  1、检查驱动器 
  使用filesystemobject的driveexists方法 
  例如: 
  set fs=createobject("scripting.filesystemobject") 
  if fs.driveexists("h") then 
  ...... 



  2、获得驱动器属性 
  可以使用getdrive方法,然后可以通过drive对象的属性或的驱动器的属性。常用属性有 
  drivetype:以整数形式返回驱动器的类型 0表示unknown  1表示可移动的   2表示固定的    3表示网络驱动器   4表示cd-room 
  5表示ram盘 



  freespace:可用空间 
  totalsize:总空间 
  volumename:驱动器标卷 



  例如: 
  ******************************************************** 
   set fs=createobject("scripting.filesystemobject") 
   set drv=fs.getdrive("D") 
   t=drv.drivetype 
   y=drv.freespace 
   wscript.echo "类型" & t 
   wscript.echo "可用空间" & y 
   ******************************************************* 



   如果大家还记得的话,应该知道还有个drives集合,这个东西比前面所说得更方便,比如我们要得到系统上所有的驱动器可以得到这个集合,然后使用foreach来检查。另外,有时候我们要编制一个病毒,可能会要感染软盘,这个时候我们需要检查软盘是不是准备好了,看下面这个程序: 



   ********************************************************** 
   wscript.echo getdrivelist() 



   function getdrivelist()  '自定义函数 
   dim fs,d,dc,s,n,crlf 
   crlf=chr(13)&chr(10) 
   set fs=createobject("scripting.filesystemobject") 
   set dc=fs.drives  '获得驱动器集合 
   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、映射网络驱动器 
   网络共享对于脚本用户来说必须经过映射才能够使用。使用network对象的mapnetworkdrive方法可以实现映射。 
   set wn=wscript.createobject("wscript.network") 
   wn.mapnetworkdrive "k:","\\yaya\music",true 
   其中最后一个参数指定是不是永久的映射,如果不写最后一个参数,下次启动的时候,映射就会被取消。 

   如果要断开映射使用wn.removenetworkdrive "k:",true,true 
   如果网络驱动器正在使用中,要强制断开的话把第二个参数设置为true 
   第三个参数表示永久取消映射。