FSO对象
创建FSO对象:
Set obj=Server.CreateObject(“Scripting.FileSystem
Object”)
Set var=nothing
!:var为创建的一个FSO对象,不使用时把obj的值清空释放内存
GetDrive(GetDriveName):访问现有驱动器并提取驱动器名
Set Gedr=obj.GetDrive(obj.GetDriveName(“E:\empolder”))
Response.Write(Gedr) ‘输出E:
!:用GetDriveName返回包含有文件夹或文件路径的驱动器.
TotalSize:返回驱动器的总容量,以字节为单位
Set ToSi_GtDr=ToSi_Obj.GetDrive("E:") ToSi_Val=FormatNumber(ToSi_GtDr.TotalSize/(1024*1024*1024
),5)
Response.Write(ToSi_Val & " GB")
FreeSpace/AvailableSpace:返回驱动器的可用容量
set Avsp_gedr=Avsp_obj.GetDrive("E:") Avsp_val=FormatNumber(Avsp_gedr.AvailableSpace/(1024*1024
*1024),5)
DriveLetter: 哪个号被赋给了该驱动器
set Drle_gedr=Drle_obj.GetDrive("E:")
Drle_val=Cstr(Drle_gedr.DriveLetter)
Response.Write(Drle_val) ‘返回E
DriveType/6: 驱动器的类型,返回整数值
set Drty_gedr=Drty_obj.GetDrive("E:")
Drty_val=Cstr(Drty_Gedr.DriveType)
Select Case Drty_val
Case 0: t="未知"
Case 1: t="可移动"
Case 2: t="固定"
Case 3: t="网络"
Case 4: t="CD-ROM"
Case 5: t="RAM 磁盘"
Case else: t=”出错”
end Select
Response.Write("该驱动器为:" & t)
SerialNumber: 驱动器序列号,返回一个负整数
Set Senu_gedr=Senu_obj.GetDrive("E:")
Response.Write(Senu_gedr.SerialNumber)
FileSystem:文件系统类型,比如NTFS
Set Fisy_gedr=Fisy_obj.GetDrive("E:")
Response.Write(Fisy_gedr.FileSystem)
IsReady:驱动器是否可用或是否准备就绪
Set Isre_gedr=Isre_obj.GetDrive("E:")
Response.Write(Isre_gedr.IsReady) '返回布尔值
ShareName(共享)和VolumeName(卷):
返回共享和卷的名字,如果不是网络驱动器,那么 ShareName 属性
将返回长度为零的字符串 ("")
Set Shna_gedr=Shna_obj.GetDrive("E:")
if shna_gedr <> null then
Response.Write(Shna_gedr.ShareName)
Response.write("<br>" & Shna_gedr.VolumeName)
else
Response.Write("null")
end if
Path和RootFolder: 驱动器的路径和根文件夹
Set Path_gedr=Path_obj.GetDrive("E:")
Response.Write(Path_gedr.Path) ‘输出E:
Response.Write("<br>" & Path_gedr.RootFolder) ‘输出E:\
-----------------------------------------------------------
CreateFolder:创建文件夹并返回文件夹名
Set Crfo=obj.CreateFolder(“E:\em”) ’在E盘创建em文件夹
Response.Write(Crfo.Name)
!:不要对新创建的对象使用 "get" 方法,Create函数会自动返回
对象的句柄
通配符 * :
例: d=Crfo_obj.MoveFolder
( "E:\empolder\texty\*","E:\empolder\texty1\")
括号内的*表示将texty目录下的所有文件夹移动到texty1目录
下,但不移动texty目录下的文件
GetFolder:返回文件夹句柄
d=Crfo_obj.GetFolder ( "E:\empolder\texty”)
DeleteFolder:删除文件夹
d=crfo_obj.DeleteFolder ("E:\empolder\texty",false)
'或者 crfo_obj.DeleteFolder "E:\empolder\texty",false
response.write("成功删除E:\empolder\texty文件夹")
!:false表示不删除只读文件,true代表删除只读文件
MoveFolder:移动文件夹
d=Crfo_obj.MoveFolder
( "E:\empolder\texty\12","E:\empolder\texty1\")
!:括号中逗号前面的部分是移出的文件夹,不用以\结束.逗号后面
的部分是移入的文件夹,用\结束表示把文件移入到\前面的文件
夹texty1
CopyFolder:复制文件夹
d=crfo_obj.CopyFolder
("E:\empolder\texty\*","E:\empolder\texty1\",true)
!:true表示是否覆盖相同的文件夹
FolderExists:找出是否有文件夹,返回布尔值
cr=Crfo_obj.FolderExists("E:\empolder\texty1")
if cr=true then
response.write("有这个文件夹")
else
response.write("没有这个文件夹")
end if
GetParentFolderName:返回文件或文件夹的父文件夹路径
cr=Crfo_obj.GetParentFolderName
("E:\empolder\texty1\tr.txt")
response.write(cr)
GetSpecialFolder: 返回指定的特殊文件夹路径
0: Windows文件夹路径 1:System32系统文件夹路径
2:Temp文件夹路径
ci=Crfo_obj.GetSpecialFolder(0)
cr=Crfo_obj.GetSpecialFolder(1)
cl=Crfo_obj.GetSpecialFolder(2)
response.write(ci) ‘返回F:\WINDOWS
response.write("<br>" & cr) ‘返回F:\WINDOWS\system32
response.write("<br>" & cl) ‘返回F:\WINDOWS\Temp
---------------------------------------------------------
CreateTextFile:创建文本文件
Set Crfi=obj.CreateTextFile(“E:\empolder\em.text”,true)
!:true表示是否覆盖同名文件
TextStream文本流: 用于访问文本文件的内容,用CreateTextFile和OpenTextFile返回的对象才包含TextStream
GetFile:返回文件句柄
set Crfi=Crfi_obj.GetFile("E:\empolder\texty\tm.txt")
Write_WriteLine_WriteBlandLines:向新建文本文件写数据
Set Crfi_cr=Crfi_obj.CreateTextFile
("E:\empolder\em.txt",true)
Crfi_cr.WriteLine("This is a WriteLine") ‘写内容并回车
Crfi_cr.WriteBlankLines(3) ‘写三个回车
Crfi_cr.Write("This is a text Write") ‘写内容不回车
OpenTextFile/4:打开文本文件
object.OpenTextFile
(filename[, iomode[, create[, format]]])
filename:文件路径
iomode/2:输入输出模式
ForReading:1,以只读方式打开
ForAppending:8, 打开文件并在文件末尾进行写操作
create:文件不存在时是否创建,值为true或false
format:用哪种格式打开文件
-2:系统默认 -1: Unicode格式 0:ASCII 格式
例:set Crfi_cr=Crfi_obj.OpenTextFile
("E:\empolder\em1.txt",8,true)
Read_ReadLine_ReadAll:读文本数据
Read:读取从当前游标开始到指定值结束的字符
ReadLine:读取从当前游标开始的这一行字符
ReadAll:读取从当前游标开始向下的全部字符
set Crfi_cr=Crfi_obj.OpenTextFile
("E:\empolder\em.txt",1,true)
Response.Write (Crfi_cr.Read(10) & "<br>")
Response.Write (Crfi_cr.ReadLine & "<br>")
Response.Write (Crfi_cr.ReadAll)
!:要把OpenTextFile的打开方式设为只读方式1,否则不能读取
Skip_SkipLine:
Skip:移动游标到指定值的字符之后
SkipLine:移动游标到下一行之首
Crfi_cr.Skip(2)
Response.Write (Crfi_cr.ReadLine & "<br>")
Crfi_cr.SkipLine
Response.Write(Crfi_cr.ReadAll)
AtEndofStream:判断游标是否在最未尾,返回布尔值
do while Crfi_cr.AtEndofStream <> true
Response.Write(Crfi_cr.ReadLine)
loop
Line_Column:当前游标所在的行号和列号,返回整数型数据
Crfi_cr.SkipLine
Crfi_cr.Skip(5)
Response.Write("游标" & "Lines:" & Crfi_cr.Line & " ") ‘返回2
Response.Write("Column:" & Crfi_cr.Column) ‘返回6
MoveFile:移动文件,可移动所有文件或指定后缀的文件
c=Crfi_obj.MoveFile
("E:\empolder\texty\*.*","E:\empolder\texty1\")
CopyFile:复制文件,可复制所有文件或指定后缀的文件
c=Crfi_obj.CopyFile
("E:\empolder\texty\*.*","E:\empolder\texty1\",true)
!:true表示覆盖相同的文件
DeleteFile:删除文件,可删除所有文件或指定后缀的文件
c=Crfi_obj.DeleteFile("E:\empolder\texty1\*.*",true)
!:true表示删除只读文件
DateCreated:返回文件被创建的时间
set Crfo_cr=Crfo_obj.GetFolder("E:\empolder\texty")
Response.Write(Crfo_cr.DateCreated)
DateLastModified:返回上次修改文件的时间
Set Crfo=obj.CreateFolder(“E:\em”)
Response.Write(Crfo.DateLastModified)
DateLastAccessed:返回上次访问文件的时间
set Crfo_cr=Crfo_obj.GetFolder("E:\empolder\texty")
Response.Write(Crfo_cr.DateLastAccessed)
Attributes:返回文件对象属性
select case Crfo_cr.Attributes
case 0: t="一般文件"
case 1: t="只读文件,属性为读/写"
case 2: t="隐藏文件,属性为读/写"
case 4: t="系统文件,属性为读/写"
case 8: t="磁盘驱动器卷标,属性为只读"
case 16: t="文件夹或目录,属性为只读"
case 32: t="文件在上次备份后已经修改。属性为读/写"
case 64: t="链接或快捷方式,属性为只读"
case 128: t="压缩文件,属性为只读"
case else: t="未知的文件"
end select
Response.Write("该对象是:" & t)