zoukankan      html  css  js  c++  java
  • FileSystemObject详解

    FSOFileSystemObject 或 Scripting.FileSystemObject 的缩写,为 IIS 内置组件,用于操作磁盘、文件夹或文本文件。FSO 的对象、方法和属性非常的多,这里用示例的方式列出常用的,注意:《VBScript 语言参考》或《JScript 语言参考》中的:《FileSystemObject 用户指南》和《Scripting 运行时库参考》便是微软给出的 FileSystemObject 完整参考。

    FSO 不能操作二进制文件,要操作二进制文件,使用:ADODB.Stream

    创建文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    set f = fso.CreateTextFile("C: est.txt", true) '第二个参数表示目标文件存在时是否覆盖
    f.Write("写入内容")
    f.WriteLine("写入内容并换行")
    f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
    f.Close()
    set f = nothing
    set fso = nothing

    打开并读文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    set f = fso.OpenTextFile("C: est.txt", 1, false) '第二个参数 1 表示只读打开,第三个参数表示目标文件不存在时是否创建
    f.Skip(3) '将当前位置向后移三个字符
    f.SkipLine() '将当前位置移动到下一行的第一个字符,注意:无参数
    response.Write f.Read(3) '从当前位置向后读取三个字符,并将当前位置向后移三个字符
    response.Write f.ReadLine() '从当前位置向后读取直到遇到换行符(不读取换行符),并将当前位置移动到下一行的第一个字符,注意:无参数
    response.Write f.ReadAll() '从当前位置向后读取,直到文件结束,并将当前位置移动到文件的最后
    if f.atEndOfLine then
       response.Write("一行的结尾!")
    end if
    if f.atEndOfStream then
        response.Write("文件的结尾!")
    end if
    f.Close()
    set f = nothing
    set fso = nothing

    打开并写文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    set f = fso.OpenTextFile("C: est.txt", 2, false) '第二个参数 2 表示重写,如果是 8 表示追加
    f.Write("写入内容")
    f.WriteLine("写入内容并换行")
    f.WriteBlankLines(3) '写入三个空白行(相当于在文本编辑器中按三次回车)
    f.Close()
    set f = nothing
    set fso = nothing

    判断文件是否存在
    set fso = server.CreateObject("Scripting.FileSystemObject")
    if fso.FileExists("C: est.txt") then
        response.Write("目标文件存在")
    else
        response.Write("目标文件不存在")
    end if
    set fso = nothing

    移动文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    call fso.MoveFile("C: est.txt", "D: est111.txt") '两个参数的文件名部分可以不同
    set fso = nothing

    复制文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    call fso.CopyFile("C: est.txt", "D: est111.txt") '两个参数的文件名部分可以不同
    set fso = nothing

    删除文件
    set fso = server.CreateObject("Scripting.FileSystemObject")
    fso.DeleteFile("C: est.txt")
    set fso = nothing

    创建文件夹
    set fso = server.CreateObject("Scripting.FileSystemObject")
    fso.CreateFolder("C: est") '目标文件夹的父文件夹必须存在
    set fso = nothing

    判断文件夹是否存在
    set fso = server.CreateObject("Scripting.FileSystemObject")
    if fso.FolderExists("C:Windows") then
        response.Write("目标文件夹存在")
    else
        response.Write("目标文件夹不存在")
    end if
    set fso = nothing

    删除文件夹
    set fso = server.CreateObject("Scripting.FileSystemObject")
    fso.DeleteFolder("C: est") '文件夹不必为空
    set fso = nothing

    检测驱动器C盘是否存在
    Set fso = Server.CreateObject("Scripting.FileSystemObject")
    fso.DriveExists("c:")

    获取文件路径的驱动器名
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    p=fso.GetDriveName(Server.MapPath("aqa33"))
    Response.Write("驱动器名称是:" & p)
    set fs=nothing

    取得某个指定的路径的父文件夹的名称
    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    p=fso.GetParentFolderName(Server.MapPath("aqa331.asp"))
    Response.Write("父文件夹名称是:" & p)
    set fs=nothing

    取得指定路径中的最后一个成分的文件扩展名 
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    Response.Write(fs.GetExtensionName(Server.MapPath("aqa33.asxd")))
    set fs=nothing

    取得指定路径中的最后一个成分的文件名 
    Set fs=Server.CreateObject("Scripting.FileSystemObject")
    Response.Write(fs.GetFileName(Server.MapPath("aqa33.asxd")))
    set fs=nothing

    返回在指定的路径中文件或者文件夹的基本名称

    Set fso=Server.CreateObject("Scripting.FileSystemObject")
    Response.Write(fso.GetBaseName("c:windowscursorsabc.cur"))
    Response.Write("<br />")
    Response.Write(fso.GetBaseName("c:windowscursors"))
    Response.Write("<br />")
    Response.Write(fso.GetBaseName("c:windows"))
    set fso=nothing

    ##############阁下如果是抄袭,爬取文章作恶或误导他人的开发者,请阅读中国现行法律的相关处罚条例再动手,转载之前最好先验证#############
  • 相关阅读:
    Linux 3.2中回写机制的变革
    Linux字符设备与块设备的区别与比较
    分布式文件系统:原理、问题与方法
    为什么说B+-tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
    Linux IO barrier
    磁盘IO:缓存IO与直接IO
    【珍藏】高性能IO模型浅析
    souretree+上面提交代码和gerrit上面出现Cannot+merge的时候的解决方法
    vscode快速生成自定义HTML模板
    在jq里面设置样式的高度height、设置隐藏和显示的小功能
  • 原文地址:https://www.cnblogs.com/chuyuan/p/4829415.html
Copyright © 2011-2022 走看看