温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用fso来进行文件操作的方法

发布时间:2021-09-30 11:11:25 来源:亿速云 阅读:135 作者:iii 栏目:开发技术

本篇内容介绍了“利用fso来进行文件操作的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

不说废话,先看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、使用fso

由于fso不是wsh的一部分,所以我们需要建立他的模型

例如set fs=wscript.createobject(“scripting.filesystemobject”)

这样就建立了fso的模型。如果要释放的话也很简单,set fs=nothing
  

2、使用文件夹

创建:

在创建前我们需要检查是否存在,看一下程序

***************************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、使用文件

使用文件属性:

文件夹的属性我没有说,大家可以从文件属性里举一反三

文件属性常用的就是:

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”   ‘删除

“利用fso来进行文件操作的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI