• ASP文件操作


    FSO - FileSystemObject 或 Scripting.FileSystemObject 的缩写,为 IIS 内置组件,用于操作磁盘、文件夹或文本文件。FSO 的对象、方法和属性非常的多,这里用示例的方式列出常用的,如果您要查看更详尽的信息,请点击这里下载 FileSystemObject 参考,注意:《VBScript 语言参考》或《JScript 语言参考》中的:《FileSystemObject 用户指南》和《Scripting 运行时库参考》便是微软给出的 FileSystemObject 完整参考。

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

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

    打开并读文件
    dim fso, f
    set fso = server.CreateObject("Scripting.FileSystemObject")
    set f = fso.OpenTextFile("C:\test.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

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

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

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

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

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

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

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

    删除文件夹
    dim fso
    set fso = server.CreateObject("Scripting.FileSystemObject")
    fso.DeleteFolder("C:\test") '文件夹不必为空
    set fso = nothing
    CreateTextFile
    (filename,overwrite,unicode) 
    用指定的文件名在文件夹内创建一个新的文本文件,并且返回一个相应的TextStream对象。如果可选的overwrite参数设置为True,将覆盖任何已有的同名文件。缺省的overwrite参数是False。如果可选的unicode参数设置为True,文件的内容将存储为unicode文本。缺省的unicode是False 

           在文件夹之间可以使用当前文件夹的ParentFolder属性,返回到父目录。当到达一个文件夹时,如果IsRootFolder属性是True,就停下来。离开驱动器的根目录,沿目录树向下,可遍历或访问在Folders集合(由当前文件夹的SubFolders属性返回)内的指定文件夹。
           下列程序遍历了驱动器C根目录内的所有文件夹,并显示各个文件夹的有关信息。
           VBScript程序如下:
           'In VBScript:
    ' Create a FileSystemObject instance
    Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
    ' Get a reference to drive C
    Set objDriveC = objFSO.GetDrive("C:")
    ' Get a reference to the root folder
    Set objRoot = objDriveC.RootFolder
    ' Get a reference to the SubFolders collection
    Set objFolders = objRoot.SubFolders
    ' Get a reference to the first folder in the SubFolders collection
    For Each objFolder In objFolders
      Set objFolder1 = objFolders.Item((objFolder.Name))
      Exit For
    Next
    ' Iterate through all the files in this folder
    For Each objFile in objFolder1.Files
      Response.Write "Name: " & objFile.Name & "   "
      Response.Write "ShortName: " & objFile.ShortName & "   "
      Response.Write "Size: " & objFile.Size & " bytes    "
      Response.Write "Type: " & objFile.Type & "<BR>"
      Response.Write "Path: " & objFile.Path & "   "
      Response.Write "ShortPath: " & objFile.ShortPath & "<BR>"
      Response.Write "Created: " & objFile.DateCreated & "   "
      Response.Write "LastModified: " & objFile.DateLastModified & "<P>"
    Next
    JScript程序如下:
    //In JScript:
    // Create a FileSystemObject instance
    var objFSO = Server.CreateObject('Scripting.FileSystemObject');
    // Get a reference to drive C
    var objDriveC = objFSO.GetDrive('C:');
    // Get a reference to the root folder
    var objRoot = objDriveC.RootFolder;
    // Get a reference to the first folder in the SubFolders collection
    var colAllFolders = new Enumerator(objRoot.SubFolders);
    var objFolder1 = colAllFolders.item();
    // Get a reference to the Files collection for this folder
    var colFiles = new Enumerator(objFolder1.Files);

    // Iterate through all the files in this collection
    for (; !colFiles.atEnd(); colFiles.moveNext()) {
      objFile = colFiles.item()
      Response.Write('Name: ' + objFile.Name + '   ');
      Response.Write('ShortName: ' + objFile.ShortName + '   ');
      Response.Write('Size: ' + objFile.Size + ' bytes    ');
      Response.Write('Type: ' + objFile.Type + '<BR>');
      Response.Write('Path: ' + objFile.Path + '   ');
      Response.Write('ShortPath: ' + objFile.ShortPath + '<BR>');
      Response.Write('Created: ' + objFile.DateCreated + '   ');
      Response.Write('Accessed: ' + objFile.DateLastAccessed + '   ');
      Response.Write('Modified: ' + objFile.DateLastModified + '<P>');
    }

  • 相关阅读:
    Redis
    cz_health_day13项目实战
    cz_health_day11
    cz_health_day10
    cz_health_day09
    cz_health_day08
    MySQL8管理系列之二:从5.5升级到8的问题处理
    MySQL8管理系列之一:Mysql 8.0以后版本的安装
    MySQL 5.5.x 数据库导入到 8.0.x 服务器
    修改Mysql 8.0版本的默认数据库目录
  • 原文地址:https://www.cnblogs.com/bestsaler/p/1835839.html
Copyright © 2020-2023  润新知