文件、目录,文本文件等多种操作类

2018-09-06 10:33

阅读:692

  一个使用fso的class,前面的文章也有提到。这里有比较多的一些实例。
<%
DimMyFileFolder
SetMyFileFolder=NewFileFolderCls
Response.WriteMyFileFolder.MoveAFile(f:\123\4561.exe,f:\123\4562.txt)
Response.WriteMyFileFolder.MoveAFolder(f:\456,f:\ditg\456)
Response.WriteMyFileFolder.ShowFileSystemType(i:\)
!!!!
Response.WriteMyFileFolder.CopyAFolder(f:\123\,f:\789\)
Response.WriteMyFileFolder.ShowFolderList(f:\ditg)
Response.WriteMyFileFolder.ShowFileList(f:\123\123)
Response.WriteMyFileFolder.DeleteAFile(f:\123\4562.txt)
Response.WriteMyFileFolder.DeleteAFolder(f:\456\)
Response.WriteMyFileFolder.CreateFolderDemo(f:\147\)
Response.WriteMyFileFolder.GetFileSize(f:\123\4563.txt)
Response.WriteMyFileFolder.GetFolderSize(f:\123\123.txt)
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,1)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,2)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,3)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,4)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,5)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,6)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,7)&<br>
Response.WriteMyFileFolder.ShowFileAccessInfo(f:\123\123.txt,8)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,1)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,2)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,3)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,4)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,5)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,6)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,7)&<br>
Response.WriteMyFileFolder.ShowFolderAccessInfo(f:\123\,8)&<br>
Response.WriteMyFileFolder.WriteTxtFile(f:\123\cexo.txt,,1)&<br>
Response.WriteMyFileFolder.WriteTxtFile(f:\123\cexo.txt,cexowxfdw,1)&<br>
Response.WriteMyFileFolder.WriteTxtFile(f:\123\cexo.txt,Chr(13)&Chr(10)
&cexowxfdw,2)&<br>
Response.WriteMyFileFolder.ReadTxtFile(f:\123\cexo.txt)&<br>
Response.WriteMyFileFolder.DisplayLevelDepth(F:\ditg\ditg\bumen\images)&<br>
ClassFileFolderCls
Publicfso
PrivateSubClass_Initialize()
Setfso=CreateObject(Scripting.FileSystemObject)
EndSub
PrivateSubClass_Terminate()
Setfso=Nothing
EndSub
//==================================文件操作==================================
取文件大小
FunctionGetFileSize(FileName)
//功能:取文件大小
//形参:文件名
//返回值:成功为文件大小,失败为-1
//
Dimf
IfReportFileStatus(FileName)=1Then
Setf=fso.Getfile(FileName)
GetFileSize=f.Size
Else
GetFileSize=-1
Endif
EndFunction
文件删除
FunctionDeleteAFile(filespec)
//功能:文件删除
//形参:文件名
//返回值:成功为1,失败为-1
//
IfReportFileStatus(filespec)=1Then
fso.DeleteFile(filespec)
DeleteAFile=1
Else
DeleteAFile=-1
Endif
EndFunction
显示文件列表
FunctionShowFileList(folderspec)
//功能:目录存在时显示此目录下的所有文件
//形参:目录名
//返回值:成功为文件列表,失败为-1
//
Dimf,f1,fc,s
IfReportFolderStatus(folderspec)=1Then
Setf=fso.GetFolder(folderspec)
Setfc=f.Files
ForEachf1infc
s=s&
Next
ShowFileList=s
Else
ShowFileList=-1
Endif
EndFunction
!!!
文件复制
FunctionCopyAFile(SourceFile,DestinationFile)
//功能:源文件存在时,才能对文件进行复制,目的文件无影响
//形参:源文件,目的文件
//返回值:成功为1,失败为-1
//
DimMyFile
IfReportFileStatus(SourceFile)=1Then
SetMyFile=fso.GetFile(SourceFile)
MyFile.Copy(DestinationFile)
CopyAFile=1
Else
CopyAFile=-1
Endif
EndFunction
文件移动
Response.WriteMoveAFile(f:\123\4561.exe,f:\123\4562.txt)
FunctionMoveAFile(SourceFile,DestinationFile)
//功能:源文件存在时目的文件不存在时才能对文件进行移动
//形参:源文件,目的文件
//返回值:成功为1,失败为-1
//
IfReportFileStatus(SourceFile)=1AndReportFileStatus(DestinationFileORPath)=
-1Then
fso.MoveFileSourceFile,DestinationFileORPath
MoveAFile=1
Else
MoveAFile=-1
Endif
EndFunction
文件是否存在?
Response.WriteReportFileStatus(G:oft\delphi\my_pro\代码库.exe)
FunctionReportFileStatus(FileName)
//功能:判断文件是否存在
//形参:文件名
//返回值:成功为1,失败为-1
//
Dimmsg
msg=-1
If(fso.FileExists(FileName))Then
msg=1
Else
msg=-1
EndIf
ReportFileStatus=msg
EndFunction
文件创建日期
Response.WriteShowDateCreated(G:oft\delphi\my_pro\代码库.exe)
Response.WriteShowDateCreated(G:oft\delphi\my_pro\复件代码库.exe)
FunctionShowDateCreated(filespec)
//功能:文件创建日期
//形参:文件名
//返回值:成功:文件创建日期,失败:-1
//
Dimf
IfReportFileStatus(filespec)=1Then
Setf=fso.GetFile(filespec)
ShowDateCreated=f.DateCreated
Else
ShowDateCreated=-1
Endif
EndFunction
文件属性
Response.WriteGetAttributes(G:oft\delphi\my_pro\复件代码库.exe)
FunctionGetAttributes(FileName)
//功能:显示文件属性
//形参:文件名
//返回值:成功:文件属性,失败:-1
//
Dimf,Str
IfReportFileStatus(FileName)=1Then
Setf=fso.GetFile(FileName)
SelectCasef.attributes
Case0Str=普通文件。没有设置任何属性。
Case1Str=只读文件。可读写。
Case2Str=隐藏文件。可读写。
Case4Str=系统文件。可读写。
Case16Str=文件夹或目录。只读。
Case32Str=上次备份后已更改的文件。可读写。
Case1024Str=链接或快捷方式。只读。
Case2048Str=压缩文件。只读。
EndSelect
GetAttributes=Str
Else
GetAttributes=-1
Endif
EndFunction
最后一次访问/最后一次修改时间
Response.WriteShowFileAccessInfo(G:oft\delphi\my_pro\复件代码库.exe)
FunctionShowFileAccessInfo(FileName,InfoType)
//功能:显示文件创建时信息
//形参:文件名,信息类别
//1-----创建时间
//2-----上次访问时间
//3-----上次修改时间
//4-----文件路径
//5-----文件名称
//6-----文件类型
//7-----文件大小
//8-----父目录
//9-----根目录
//返回值:成功为文件创建时信息,失败:-1
//
Dimf,s
IfReportFileStatus(FileName)=1then
Setf=fso.GetFile(FileName)
SelectCaseInfoType
Case1s=f.DateCreated//1-----
创建时间
Case2s=f.DateLastAccessed//2-----上次访问
时间
Case3s=f.DateLastModified//3-----上次修改
时间
Case4s=f.Path//4
-----文件路径
Case5s=f.Name//5
-----文件名称
Case6s=f.Type//6
-----文件类型
Case7s=f.Size//7
-----文件大小
Case8s=f.ParentFolder//8-----
父目录
Case9s=f.RootFolder//8-----
根目录
EndSelect
ShowFileAccessInfo=s
ELse
ShowFileAccessInfo=-1
Endif
EndFunction
写文本文件
FunctionWriteTxtFile(FileName,TextStr,WriteORAppendType)
ConstForReading=1,ForWriting=2,ForAppending=8
Dimf,m
SelectCaseWriteORAppendType
Case1:文件进行写操作
Setf=fso.OpenTextFile(FileName,ForWriting,True)
f.WriteTextStr
f.Close
IfReportFileStatus(FileName)=1then
WriteTxtFile=1
Else
WriteTxtFile=-1
Endif
Case2:文件末尾进行写操作
IfReportFileStatus(FileName)=1then
Setf=fso.OpenTextFile(FileName,ForAppending)
f.WriteTextStr
f.Close
WriteTxtFile=1
Else
WriteTxtFile=-1
Endif
EndSelect
EndFunction
读文本文件
FunctionReadTxtFile(FileName)
ConstForReading=1,ForWriting=2
Dimf,m
IfReportFileStatus(FileName)=1then
Setf=fso.OpenTextFile(FileName,ForReading)
m=f.ReadLine
m=f.ReadAll
f.SkipLine
ReadTxtFile=m
f.Close
Else
ReadTxtFile=-1
Endif
EndFunction
建立文本文件
//==================================目录操作==================================
取目录大小
FunctionGetFolderSize(FolderName)
//功能:取目录大小
//形参:目录名
//返回值:成功为目录大小,失败为-1
//
Dimf
IfReportFolderStatus(FolderName)=1Then
Setf=fso.GetFolder(FolderName)
GetFolderSize=f.Size
Else
GetFolderSize=-1
Endif
EndFunction
创建的文件夹
FunctionCreateFolderDemo(FolderName)
//功能:创建的文件夹
//形参:目录名
//返回值:成功为1,失败为-1
//
Dimf
IfReportFolderStatus(Folderspec)=1Then
CreateFolderDemo=-1
Else
Setf=fso.CreateFolder(FolderName)
CreateFolderDemo=1
Endif
EndFunction
!!!
目录删除
FunctionDeleteAFolder(Folderspec)
//功能:目录删除
//形参:目录名
//返回值:成功为1,失败为-1
//
Response.writeFolderspec
IfReportFolderStatus(Folderspec)=1Then
fso.DeleteFolder(Folderspec)
DeleteAFolder=1
Else
DeleteAFolder=-1
Endif
EndFunction
显示目录列表
FunctionShowFolderList(folderspec)
//功能:目录存在时显示此目录下的所有子目录
//形参:目录名
//返回值:成功为子目录列表,失败为-1
//
Dimf,f1,fc,s
IfReportFolderStatus(folderspec)=1Then
Setf=fso.GetFolder(folderspec)
Setfc=f.SubFolders
ForEachf1infc
s=s&f1.name
s=s&
Next
ShowFolderList=s
Else
ShowFolderList=-1
Endif
EndFunction
!!!!
目录复制
FunctionCopyAFolder(SourceFolder,DestinationFolder)
//功能:源目录存在时,才能对目录进行复制,目的目录无影响
//形参:源目录,目的目录
//返回值:成功为1,失败为-1
//
DimMyFolder
IfReportFolderStatus(SourceFolder)=1andReportFolderStatus
(DestinationFolder)=-1Then
SetMyFolder=fso.GetFolder(SourceFolder)
fso.CopyFolderSourceFolder,DestinationFolder
CopyAFolder=1
Else
CopyAFolder=-1
Endif
EndFunction
目录进行移动
FunctionMoveAFolder(SourcePath,DestinationPath)
//功能:源目录存在时目的目录不存在时才能对目录进行移动
//形参:源目录,目的目录
//返回值:成功为1,失败为-1
//
IfReportFolderStatus(SourcePath)=1AndReportFolderStatus(DestinationPath)=0
Then
fso.MoveFolderSourcePath,DestinationPath
MoveAFolder=1
Else
MoveAFolder=-1
Endif
EndFunction
判断目录是否存在
Response.WriteReportFolderStatus(G:oft\delphi\my_pro\)
FunctionReportFolderStatus(fldr)
//功能:判断目录是否存在
//形参:目录
//返回值:成功为1,失败为-1
//
Dimmsg
msg=-1
If(fso.FolderExists(fldr))Then
msg=1
Else
msg=-1
EndIf
ReportFolderStatus=msg
EndFunction
目录创建时信息
FunctionShowFolderAccessInfo(FolderName,InfoType)
//功能:显示目录创建时信息
//形参:目录名,信息类别
//1-----创建时间
//2-----上次访问时间
//3-----上次修改时间
//4-----目录路径
//5-----目录名称
//6-----目录类型
//7-----目录大小
//8-----父目录
//9-----根目录
//返回值:成功为目录创建时信息,失败:-1
//
Dimf,s
IfReportFolderStatus(FolderName)=1then
Setf=fso.GetFolder(FolderName)
SelectCaseInfoType
Case1s=f.DateCreated//1-----
创建时间
Case2s=f.DateLastAccessed//2-----上次访问
时间
Case3s=f.DateLastModified//3-----上次修改
时间
Case4s=f.Path//4
-----文件路径
Case5s=f.Name//5
-----文件名称
Case6s=f.Type//6
-----文件类型
Case7s=f.Size//7
-----文件大小
Case8s=f.ParentFolder//8-----
父目录
Case9s=f.RootFolder//9-----
根目录
EndSelect
ShowFolderAccessInfo=s
ELse
ShowFolderAccessInfo=-1
Endif
EndFunction
FunctionDisplayLevelDepth(pathspec)
Dimf,n,Path
Setf=fso.GetFolder(pathspec)
Iff.IsRootFolderThen
DisplayLevelDepth=指定的文件夹是根文件夹。&RootFolder
Else
DoUntilf.IsRootFolder
Path=Path&f.Name&<br>
Setf=f.ParentFolder
n=n+1
Loop
DisplayLevelDepth=指定的文件夹是嵌套级为&n&的文件夹。<br>&
Path
EndIf
EndFunction
//==================================磁盘操作==================================
驱动器是否存在?
Response.WriteReportDriveStatus(C:\)
FunctionReportDriveStatus(drv)
//功能:判断磁盘是否存在
//形参:磁盘
//返回值:成功为1,失败为-1
//
Dimmsg
msg=-1
Iffso.DriveExists(drv)Then
msg=1
Else
msg=-1
EndIf
ReportDriveStatus=msg
EndFunction
--------可用的返回类型包括FAT、NTFS和CDFS。
Response.WriteShowFileSystemType(C:\)
FunctionShowFileSystemType(drvspec)
//功能:磁盘类型
//形参:磁盘名
//返回值:成功为类型:FAT、NTFS和CDFS,失败:-1
//
Dimd
IfReportDriveStatus(drvspec)=1Then
Setd=fso.GetDrive(drvspec)
ShowFileSystemType=d.FileSystem
ELse
ShowFileSystemType=-1
Endif
EndFunction
EndClass
%>


评论


亲,登录后才可以留言!