您的位置:首页 > 编程语言 > VB

vbscript脚本编程教程2

2004-07-08 17:09 260 查看
vbscript[/b]脚本编程教程[/b]2[/b] by sssa2000 7/7/2004 我们来看一看怎么利用fso来进行文件操作。Fso时vbs里进行文件操作的核心。作为黑客,不管学习什么语言,对文件的操作都应该是要了如指掌的,所以请大家仔细学习。 不说废话,先看fso由哪几个对象组成: drive对象:包含储存设备的信息,包括硬盘,光驱,ram盘,网络驱动器 drives集合:提供一个物理和逻辑驱动器的列表 file 对象:检查和处理文件 files 集合:提供一个文件夹中的文件列表 folder对象:检查和处理文件夹 folders集合:提供文件夹中子文件夹的列表 textstream对象:读写文本文件 看看fso的方法:由于很多,所以我不会把每个的作用写出来,如果有不懂的,自己查一下msdn。不要说没有哦 bulidpath:把文件路径信息添加到现有的文件路径上 copyfile copyfolder createfolder createtextfile deletefile deletefolder dreveexits fileexits folderexists getabsolutepathname:返回一个文件夹或文件的绝对路径 getbasename:返回一个文件或文件夹的基本路径 getdrive:返回一个dreve对象 getdrivename:返回一个驱动器的名字 getextensionname:返回扩展名 getfile:返回一个file对象 getfilename:返回文件夹中文件名称 getfolder getparentfoldername:返回一个文件夹的父文件夹 getspecialfolder:返回指向一个特殊文件夹的对象指针 gettempname:返回一个可以被createtextfile使用的随机产生的文件或文件夹的名称 movefile movefolder opentextfile 好了,看到这里我想大家也明白了一大半,可能后面都不用我多说了,脚本就是这么简单,呵呵呵,还是继续把。 1[/b]、使用fso[/b] 由于fso不是wsh的一部分,所以我们需要建立他的模型 例如set fs=wscript.createobject(“scripting.filesystemobject”) 这样就建立了fso的模型。如果要释放的话也很简单,set fs=nothing 2[/b]、使用文件夹[/b] 创建: 在创建前我们需要检查是否存在,看一下程序 ***************************createfolder.vbs***************************** dim fs,s set fs=wscript.createobject(“scripting.filesystemobject”) if (fs.folderexists(“c:/temp”)) then s=”is available” else s=”not exist” set foldr=fs.createfolder(“c:/temp”) end if 删除、拷贝、移动 删除: set fs=wscript.createobject(“scripting.filesystemobject”) fs.deletefolder(“c:/windows”) 拷贝: set fs=wscript.createobject(“scripting.filesystemobject”) fs.copyfolder “c:/data” “d:/data” 注意,如果这个时候c:/data 和d:/data都存在,会出错,复制也就会停止,如果要强制覆盖,使用fs.copyfolder “c:/data” “d:/data”,true 移动 set fs=wscript.createobject(“scripting.filesystemobject”) fs.movefolder “c:/data” “d:/data” 关于通配符: 我们可以使用统配符,来方便操作: 例如, fs.movefolder :c:/data/te*” , “d:/working” 注意到没有,我在目的路径最后没有使用“/” 也就是说我没有这样写: fs.movefolder :c:/data/te*” , “d:/working/” 这样写的话,如果d:/working 目录不存在,windows就不会为我们自动创建这个目录。 还有一点,大家注意到没有 上面说的都没有涉及到folder对象,我们都是在利用fso提供的方法,当然利用folder一样可以的: set fs= wscript.createobject(“scripting.filesystemobject”) set f=fs.getfolder(“c:/data”) f.delete ‘删除。如果有子目录,也会被删除 f.copy “d:/working”,true ‘拷贝到d:/working f.move :”d:/temp” ‘移动到d:/temp 特殊文件夹 一般指的就是系统文件夹:/windows/system32, 临时文件夹,windows文件夹 看下面,我们使用环境变量来获得windows目录,关于环境变量我们会在后面详细讲道,如果我忘记了 请大家提醒我 set fs=wscript.createobject(“scripting.filesystemobject”) set wshshell=wscript.createobject(“wscript.shell”) osdir=wshshell.expandenvironmentstrings(“%systemroot%”) set f =fs.getfolder(osdir) wscript.echo f 当然,还有简单的方法 那就是使用getspecialfolder() 这个方法使用3种值: 0 表示windows文件夹,相关常量是windowsfolder 1 系统文件夹,相关常量是systemfolder 2 临时目录,相关常量temporaryfolder 看下面的例子: ***********************************getspecialfolder*************************** set fs=wscript.createobject(“scripting.filesystemobject”) set wfolder=fs.getspecialfolder(0) ‘返回windows目录 set wfolder=fs.getspecialfolder(1) ‘返回system32/ set wfolder=fs.getspecialfolder(2)’返回临时目录 3[/b]、使用文件[/b] 使用文件属性: 文件夹的属性我没有说,大家可以从文件属性里举一反三 文件属性常用的就是: normal 0 readonly 1 hideen 2 system 4 set fs=wscript.createobject(“scripting.filesystemobject”) set f=fs.gerfile(“d:/index.txt”) f.attributes=f.attributes+1 这里由于不知道d:/index.txt的文件属性,所以会发生不可预测的结果,如果文件的属性是0,那么就会变成1。所以最好在改变属性前查询 创建 创建前需要检查文件是否存在,方法和前面说的文件夹的方法一样 *****************************file.vbs********************************** set fs=wscript.createobject(“scripting.filesystemobject”) if fs.fileexists(“c:/asd.txt”) then s=” available” else s=not exist” set f=fs.createtextfile(“c:/asd.txt”) end if 当然 我们也可以使用set f=fs.createtextfile(“c:/asd.txt”,true) 来强制覆盖已存在的文件。 复制移动删除文件 和文件夹一样 我们既可以使用fso提供的方法也可以用file对象 set fs=wscript.createobject(“scripting.filesystemobject”) fs.copyfile “c:/asd.txt”,”d:/1/asd.txt”,true ‘复制文件,如果已存在就强制覆盖 fs.movefile “c:/asd.txt”, “d:/” ‘移动 fs.deletefile “c:/asd.txt” ‘删除 好了,下一章我们就要学习文件的读写了,文件的读写是文件系统,尤其是黑客编程里面十分重要的一部分,今天打字可能有很多错误,大家看的时候仔细一点,不懂得多看看msdn, 要提高水平只有靠自己,别人是帮不了你的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: