目录

  1. FileSystemObject 对象简介
  2. 创建 FileSystemObject
  3. 常用方法
  4. FileSystemObject 文件夹操作
  5. FileSystemObject 错误处理
  6. 完整示例代码
  7. 参考资料
  8. 出站链接

1. FileSystemObject 对象简介

FileSystemObject(简称 FSO)是 ASP 提供的一个用于进行文件和文件夹操作的对象。它允许开发人员通过脚本访问 文件系统,进行文件的 创建、读取、删除、复制、移动 等操作。

📌 常见用途

  • 读取和写入文本文件
  • 管理文件夹
  • 获取文件和文件夹的属性(如大小、创建日期等)

2. 创建 FileSystemObject

使用 Server.CreateObject("Scripting.FileSystemObject") 创建 FileSystemObject 实例,进行文件系统操作。

示例:创建 FileSystemObject 实例

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
%>


3. 常用方法

31. FileSystemObject 创建文件

使用 CreateTextFile 方法创建新文件,并返回一个 TextStream 对象,用于对文件进行写入操作。

示例:创建文件并写入内容

<%
Dim objFSO, objFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 创建并打开新文件
Set objFile = objFSO.CreateTextFile(Server.MapPath("newfile.txt"), True)

' 写入文本内容
objFile.WriteLine("Hello, World!")

' 关闭文件
objFile.Close

' 清理
Set objFile = Nothing
Set objFSO = Nothing
%>

📌 参数说明

  • True:如果文件已存在,则覆盖文件。
  • False:如果文件已存在,则不会覆盖文件。

32. FileSystemObject 读取文件

使用 OpenTextFile 方法打开现有的文本文件,并通过 ReadLineReadAll 方法读取文件内容。

示例:读取文件内容

<%
Dim objFSO, objFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 打开文件进行读取
Set objFile = objFSO.OpenTextFile(Server.MapPath("example.txt"), 1)

' 读取文件内容并输出
Response.Write objFile.ReadAll

' 关闭文件
objFile.Close

' 清理
Set objFile = Nothing
Set objFSO = Nothing
%>

📌 常用读取模式

  • 1:只读模式
  • 2:写入模式(追加内容)

33. FileSystemObject 删除文件

使用 DeleteFile 方法删除指定文件。

示例:删除文件

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 删除文件
If objFSO.FileExists(Server.MapPath("delete_me.txt")) Then
    objFSO.DeleteFile(Server.MapPath("delete_me.txt"))
    Response.Write "文件已删除"
Else
    Response.Write "文件不存在"
End If

' 清理
Set objFSO = Nothing
%>

34. FileSystemObject 复制文件

使用 CopyFile 方法将文件从一个位置复制到另一个位置。

示例:复制文件

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 复制文件
If objFSO.FileExists(Server.MapPath("source.txt")) Then
    objFSO.CopyFile Server.MapPath("source.txt"), Server.MapPath("destination.txt")
    Response.Write "文件已复制"
Else
    Response.Write "源文件不存在"
End If

' 清理
Set objFSO = Nothing
%>

35. FileSystemObject 移动文件

使用 MoveFile 方法将文件从一个位置移动到另一个位置。

示例:移动文件

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 移动文件
If objFSO.FileExists(Server.MapPath("source.txt")) Then
    objFSO.MoveFile Server.MapPath("source.txt"), Server.MapPath("new_folder\source.txt")
    Response.Write "文件已移动"
Else
    Response.Write "源文件不存在"
End If

' 清理
Set objFSO = Nothing
%>

36. FileSystemObject 获取文件信息

使用 GetFile 获取文件对象,并通过 SizeDateCreated 等属性获取文件信息。

示例:获取文件信息

<%
Dim objFSO, objFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 获取文件对象
Set objFile = objFSO.GetFile(Server.MapPath("example.txt"))

' 获取文件大小和创建日期
Response.Write "文件大小: " & objFile.Size & " 字节<br>"
Response.Write "创建日期: " & objFile.DateCreated & "<br>"

' 清理
Set objFile = Nothing
Set objFSO = Nothing
%>


4. FileSystemObject 文件夹操作

41. 创建文件夹

使用 CreateFolder 方法创建一个新文件夹。

示例:创建文件夹

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 创建文件夹
If Not objFSO.FolderExists(Server.MapPath("new_folder")) Then
    objFSO.CreateFolder(Server.MapPath("new_folder"))
    Response.Write "文件夹已创建"
Else
    Response.Write "文件夹已存在"
End If

' 清理
Set objFSO = Nothing
%>

42. 删除文件夹

使用 DeleteFolder 方法删除一个文件夹。

示例:删除文件夹

<%
Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 删除文件夹
If objFSO.FolderExists(Server.MapPath("old_folder")) Then
    objFSO.DeleteFolder(Server.MapPath("old_folder"))
    Response.Write "文件夹已删除"
Else
    Response.Write "文件夹不存在"
End If

' 清理
Set objFSO = Nothing
%>

43. 获取文件夹信息

使用 GetFolder 获取文件夹对象,并获取文件夹的属性信息。

示例:获取文件夹信息

<%
Dim objFSO, objFolder
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 获取文件夹对象
Set objFolder = objFSO.GetFolder(Server.MapPath("my_folder"))

' 获取文件夹信息
Response.Write "文件夹路径: " & objFolder.Path & "<br>"
Response.Write "文件夹创建日期: " & objFolder.DateCreated & "<br>"
Response.Write "文件夹包含的文件数: " & objFolder.Files.Count & "<br>"

' 清理
Set objFolder = Nothing
Set objFSO = Nothing
%>


5. FileSystemObject 错误处理

在使用 FileSystemObject 时,通常会遇到文件或文件夹不存在、权限不足等错误。可以使用 On Error Resume Next 来忽略错误并通过 Err 对象检查。

示例:错误处理

<%
On Error Resume Next

Dim objFSO
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 尝试删除不存在的文件
objFSO.DeleteFile(Server.MapPath("non_existent_file.txt"))

If Err.Number <> 0 Then
    Response.Write "错误信息: " & Err.Description
    Err.Clear
End If

' 清理
Set objFSO = Nothing
On Error GoTo 0
%>


6. 完整示例代码

<%
Dim objFSO, objFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

' 创建文件夹
If Not objFSO.FolderExists(Server.MapPath("new_folder")) Then
    objFSO.CreateFolder(Server.MapPath("new_folder"))
End If

' 创建并写入文件
Set objFile = objFSO.CreateTextFile(Server.MapPath("new_folder\example.txt"), True)
objFile.WriteLine("This is a test file created using FileSystemObject.")
objFile.Close

' 读取文件
Set objFile = objFSO.OpenTextFile(Server.MapPath("new_folder\example.txt"), 1)
Response.Write objFile.ReadAll
objFile.Close

' 清理
Set objFile = Nothing
Set objFSO = Nothing
%>


7. 参考资料


8. 出站链接


通过 FileSystemObject 对象,你可以方便地进行 文件和文件夹操作,提高 ASP 应用的文件管理效率!🚀