zoukankan      html  css  js  c++  java
  • Vbs脚本编程简明教程(ZZ)

    ◎Vbs脚本编程简明教程之十一
            ——FSO中文件的基本操作
    一、文件属性:

    在windows中,文件的属性一般用数字来表示:

    0代表normal,即普通文件未设置任何属性。   1代表只读文件。

    2代表隐藏文件。   4代表系统文件。   16代表文件夹或目录。

    32代表存档文件。 1024代表链接或快捷方式。例如:

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

    set f=fs.getfile(“d:\index.txt”)

    msgbox f.Attributes  ‘attributes函数的作用是显示文件属性

    需要说明的是:msgbox显示的结果往往不是上面说明的数字,而是有关属性代表数字的和。[作者:临汾市外事旅游局薛靖澜,转载请注明出处]

    二、创建文件:object.createtextfile方法,注意创建前一般需要检查文件是否存在。

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

    if fso.fileexists(“c:\kk.txt”) then

    msgbox “文件已存在”

    else

    set f=fso.createtextfile(“c:\kk.txt”)

    end if

    如需要强制覆盖已存在的文件,则在文件名后加true参数。

    三、复制、移动、删除文件:使用copyfile方法、movefile方法、deletefile方法。例如:

    set fso=wscript.createobject(“scripting.filesystemobject”)

    fso.copyfile “c:\kk.txt”,”d:\1\kk.txt”,true   //如上文说述,true代表强制覆盖

    fso.movefile “c:\kk.txt”, “d:\”  //移动文件

    fso.deletefile “c:\kk.txt”  //删除文件

    四、文件的读写:

    1、打开文件:使用opentextfile方法

    如:set ts=fso.opentextfile(“c:\kk.txt”,1,true)

    说明:第二个参数为访问模式1为只读、2写入、8为追加

    第三个参数指定如文件不存在则创建。

    2、读取文件:read(x)读x个字符;readline读一行;readall全部读取

    如:set ffile=fso.opentextfile(“c:\kk.txt”,1,true)

    value=ffile.read(20)

    line=ffile.readline

    contents=ffile.readall

    3、常见的指针变量:

    atendofstream属性:当处于文件结尾的时候这个属性返回true。一般用循环检测是否到达文件末尾。例如:

    do while ffile.atendofstream<>true

    ffile.read(10)

    loop

    atendofline属性:如果已经到了行末尾,这个属性返回true。

    Column属性(当前字符位置的列号)和line属性(文件当前行号):在打开一个文件后,行和列指针都被设置为1。

    4、在文件中跳行:skip(x)  跳过x个字符;skipline  跳过一行

    5、在文件中写入字符:可以用2-写入和8-追加的方式来写入

    其方法有:write(x)写入x字符串;writeline(x)写入x代表的一行

    writeblanklines(n) 写入n个空行

    注意:最后一定要使用close方法关闭文件。[作者:临汾市外事旅游局薛靖澜,转载请注明出处]读文件后一定要关闭,才能以写的方式打开。

    _____________________________________________________________________________________________________

    _____________________________________________________________________________________________________

    1、使用fso 

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

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

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

    2、使用文件夹

    在创建前,我们一般需要检查该文件夹是否存在例如:

    dim fs,s //定义fs、s两个变量

    set fs=wscript.createobject(“scripting.filesystemobject”) //fs为FSO实例

    if (fs.folderexists(“c:\temp”)) then //判断c:\temp文件夹是否存在

    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就不会为我们自动创建这个目录。

    注意:上面我们所举的例子都是在利用fso提供的方法,如果使用folder对象也完全是可以的:

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

    set f=fs.getfolder(“c:\data”)

    f.delete//删除文件夹c:\data。如果有子目录,也会被删除

    f.copy “d:\working”,true//拷贝到d:\working

    f.move “d:\temp”//移动到d:\temp

    3、特殊文件夹

    一般指的就是系统文件夹:\windows\system32, 临时文件夹,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

    例如:

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

    set wfolder=fs.getspecialfolder(0) ‘返回windows目录

    set wfolder=fs.getspecialfolder(1) ‘返回system32\

    set wfolder=fs.getspecialfolder(2)'返回临时目录


  • 相关阅读:
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit  atiMail atiDns新特性 v2  q39
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit.aticmd v4  新特性q39 添加定时器释放功能
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit. Atiposter 发帖机 新特性 poster new feature   v7 q39
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    Atitit.编程语言and 自然语言的比较and 编程语言未来的发展
    atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31
    知也atitit.解决struts2 SpringObjectFactory.getClassInstance NullPointerException  v2 q31无涯 - I
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/2079989.html
Copyright © 2011-2022 走看看