fsofunction.asp

< %
' Asp中一些FSO方面的函数 
'
//==================================文件操作==================================  
 


' 取文件大小 
Function  GetFileSize(FileName) 
' //功能:取文件大小 
'
//形参:文件名 
'
//返回值:成功为文件大小,失败为-1 
'
// 
Dim  f 
If  ReportFileStatus(FileName)  =   1   Then  
Set  f  =  fso.Getfile(FileName) 
GetFileSize 
=  f.Size 
Else  
GetFileSize 
=   - 1  
End   if  
End Function  


' 文件删除 
Function  deleteAFile(filespec) 
' //功能:文件删除 
'
//形参:文件名 
'
//返回值:成功为1,失败为-1 
'
// 
If  ReportFileStatus(filespec)  =   1   Then  
fso.deleteFile(filespec) 
deleteAFile 
=   1  
Else  
deleteAFile 
=   - 1  
End   if  
End Function  


' 显示文件列表 
Function  ShowFileList(folderspec) 
' //功能:目录存在时显示此目录下的所有文件 
'
//形参:目录名 
'
//返回值:成功为文件列表,失败为-1 
'
// 
Dim  f, f1, fc, s 
If  ReportFolderStatus(folderspec)  =   1   Then  
Set  f  =  fso.GetFolder(folderspec) 
Set  fc  =  f.Files 
For   Each  f1 in fc 
=  s  &  f1.name 
=  s  &   " | "  
Next  
ShowFileList 
=  s 
Else  
ShowFileList 
=   - 1  
End   if  
End Function  


' !!! 
'
文件复制 
Function  CopyAFile(SourceFile,DestinationFile) 
' //功能:源文件存在时,才能对文件进行复制,目的文件无影响 
'
//形参:源文件,目的文件 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  MyFile 
If  ReportFileStatus(SourceFile)  =   1   Then  
Set  MyFile  =  fso.GetFile(SourceFile) 
MyFile.Copy (DestinationFile) 
CopyAFile 
=   1  
Else  
CopyAFile 
=   - 1  
End   if  
End Function  


' 文件移动 
'
Response.Write MoveAFile("f:/123/4561.exe","f:/123/4562.txt") 
Function  MoveAFile(SourceFile,DestinationFile) 
' //功能:源文件存在时目的文件不存在时才能对文件进行移动 
'
//形参:源文件,目的文件 
'
//返回值:成功为1,失败为-1 
'
// 
If  ReportFileStatus(SourceFile) = 1   And  ReportFileStatus(DestinationFileORPath)  =   - 1   Then  
fso.MoveFile SourceFile,DestinationFileORPath 
MoveAFile 
=   1  
Else  
MoveAFile 
=   - 1  
End   if  
End Function  


' 文件是否存在? 
'
Response.Write ReportFileStatus("G:/soft/delphi/my_pro/代码库.exe") 
Function  ReportFileStatus(FileName) 
' //功能:判断文件是否存在 
'
//形参:文件名 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  msg 
msg 
=   - 1  
If  (fso.FileExists(FileName))  Then  
msg 
=   1  
Else  
msg 
=   - 1  
End   If  
ReportFileStatus 
=  msg 
End Function  


' 文件创建日期 
'
Response.Write ShowDatecreated("G:/soft/delphi/my_pro/代码库.exe") 
'
Response.Write ShowDatecreated("G:/soft/delphi/my_pro/复件代码库.exe") 
Function  ShowDatecreated(filespec) 
' //功能:文件创建日期 
'
//形参:文件名 
'
//返回值:成功:文件创建日期,失败:-1 
'
// 
Dim  f 
If  ReportFileStatus(filespec)  =   1   Then  
Set  f  =  fso.GetFile(filespec) 
ShowDatecreated 
=  f.Datecreated 
Else  
ShowDatecreated 
=   - 1  
End   if  
End Function  


' 文件属性 
'
Response.Write GetAttributes("G:/soft/delphi/my_pro/复件代码库.exe") 
Function  GetAttributes(FileName) 
' //功能:显示文件属性 
'
//形参:文件名 
'
//返回值:成功:文件属性,失败:-1 
'
// 
Dim  f,Str 
If  ReportFileStatus(FileName)  =   1   Then  
Set  f  =  fso.GetFile(FileName) 
select   Case  f.attributes 
Case   0  Str = " 普通文件。没有设置任何属性。  "  
Case   1  Str = " 只读文件。可读写。  "  
Case   2  Str = " 隐藏文件。可读写。  "  
Case   4  Str = " 系统文件。可读写。  "  
Case   16  Str = " 文件夹或目录。只读。  "  
Case   32  Str = " 上次备份后已更改的文件。可读写。  "  
Case   1024  Str = " 链接或快捷方式。只读。  "  
Case   2048  Str = "  压缩文件。只读。 "  
End   select  
GetAttributes 
=  Str 
Else  
GetAttributes 
=   - 1  
End   if  
End Function  


' 最后一次访问/最后一次修改时间 
'
Response.Write ShowFileAccessInfo("G:/soft/delphi/my_pro/复件 代码库.exe") 
Function  ShowFileAccessInfo(FileName,InfoType) 
' //功能:显示文件创建时信息 
'
//形参:文件名,信息类别 
'
// 1 -----创建时间 
'
// 2 -----上次访问时间 
'
// 3 -----上次修改时间 
'
// 4 -----文件路径 
'
// 5 -----文件名称 
'
// 6 -----文件类型 
'
// 7 -----文件大小 
'
// 8 -----父目录 
'
// 9 -----根目录 
'
//返回值:成功为文件创建时信息,失败:-1 
'
// 
Dim  f, s 
If  ReportFileStatus(FileName)  =   1   then  
Set  f  =  fso.GetFile(FileName) 
select   Case  InfoType 
Case   1  s  =  f.Datecreated  ' // 1 ----- 创建时间 
Case   2  s  =  f.DateLastAccessed  ' // 2 -----上次访问 时间 
Case   3  s  =  f.DateLastModified  ' // 3 -----上次修改 时间 
Case   4  s  =  f.Path  ' // 4 -----文件路径 
Case   5  s  =  f.Name  ' // 5 -----文件名称 
Case   6  s  =  f.Type  ' // 6 -----文件类型 
Case   7  s  =  f.Size  ' // 7 -----文件大小 
Case   8  s  =  f.ParentFolder  ' // 8 ----- 父目录 
Case   9  s  =  f.RootFolder  ' // 8 ----- 根目录 
End   select  
ShowFileAccessInfo 
=  s 
ELse  
ShowFileAccessInfo 
=   - 1  
End   if  
End Function  


' 写文本文件 
Function  WriteTxtFile(FileName,TextStr,WriteORAppendType) 

Const  ForReading  =   1 , ForWriting  =   2  , ForAppending  =   8  
Dim  f, m 

select   Case  WriteORAppendType 

Case   1 ' 文件进行写操作 
Set  f  =  fso.OpenTextFile(FileName, ForWriting,  True
f.Write TextStr 
f.Close 
If  ReportFileStatus(FileName)  =   1   then  
WriteTxtFile 
=   1  
Else  
WriteTxtFile 
=   - 1  
End   if  


Case   2 ' 文件末尾进行写操作 
If  ReportFileStatus(FileName)  =   1   then  
Set  f  =  fso.OpenTextFile(FileName, ForAppending) 
f.Write TextStr 
f.Close 
WriteTxtFile 
=   1  
Else  
WriteTxtFile 
=   - 1  
End   if  
End   select  

End Function  


' 读文本文件 
Function  ReadTxtFile(FileName) 
Const  ForReading  =   1 , ForWriting  =   2  
Dim  f, m 
If  ReportFileStatus(FileName)  =   1   then  
Set  f  =  fso.OpenTextFile(FileName, ForReading) 
=  f.ReadLine 
' m = f.ReadAll 
'
f.SkipLine 
ReadTxtFile  =  m 
f.Close 
Else  
ReadTxtFile 
=   - 1  
End   if  
End Function  


' 建立文本文件 


' //==================================目录操作================================== 


' 取目录大小 
Function  GetFolderSize(FolderName) 
' //功能:取目录大小 
'
//形参:目录名 
'
//返回值:成功为目录大小,失败为-1 
'
// 
Dim  f 
If  ReportFolderStatus(FolderName)  =   1   Then  
Set  f  =  fso.GetFolder(FolderName) 
GetFolderSize 
=  f.Size 
Else  
GetFolderSize 
=   - 1  
End   if  
End Function  


' 创建的文件夹 
Function  createFolderDemo(FolderName) 
' //功能:创建的文件夹 
'
//形参:目录名 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  f 
If  ReportFolderStatus(FolderName)  =   1   Then  
createFolderDemo 
=   - 1  
Else  
Set  f  =  fso.createFolder(FolderName) 
createFolderDemo 
=   1  
End   if  
End Function  


' !!! 
'
目录删除 
Function  deleteAFolder(Folderspec) 
' //功能:目录删除 
'
//形参:目录名 
'
//返回值:成功为1,失败为-1 
'
// 
Response.write Folderspec 
If  ReportFolderStatus(Folderspec)  =   1   Then  
fso.deleteFolder (Folderspec) 
deleteAFolder 
=   1  
Else  
deleteAFolder 
=   - 1  
End   if  
End Function  


' 显示目录列表 
Function  ShowFolderList(folderspec) 
' //功能:目录存在时显示此目录下的所有子目录 
'
//形参:目录名 
'
//返回值:成功为子目录列表,失败为-1 
'
// 
Dim  f, f1, fc, s 
If  ReportFolderStatus(folderspec)  =   1   Then  
Set  f  =  fso.GetFolder(folderspec) 
Set  fc  =  f.SubFolders 
For   Each  f1 in fc 
=  s  &  f1.name 
=  s  &   " | "  
Next  
ShowFolderList 
=  s 
Else  
ShowFolderList 
=   - 1  
End   if  
End Function  


' !!!! 
'
目录复制 
Function  CopyAFolder(SourceFolder,DestinationFolder) 
' //功能:源目录存在时,才能对目录进行复制,目的目录无影响 
'
//形参:源目录,目的目录 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  MyFolder 
If  ReportFolderStatus(SourceFolder)  =   1   and  ReportFolderStatus(DestinationFolder)  =   - 1   Then  
Set  MyFolder  =  fso.GetFolder(SourceFolder) 
fso.CopyFolder SourceFolder,DestinationFolder 
CopyAFolder 
=   1  
Else  
CopyAFolder 
=   - 1  
End   if  
End Function  


' 目录进行移动 
Function  MoveAFolder(SourcePath,DestinationPath) 
' //功能:源目录存在时目的目录不存在时才能对目录进行移动 
'
//形参:源目录,目的目录 
'
//返回值:成功为1,失败为-1 
'
// 
If  ReportFolderStatus(SourcePath) = 1   And  ReportFolderStatus(DestinationPath) = 0   Then  
fso.MoveFolder SourcePath, DestinationPath 
MoveAFolder 
=   1  
Else  
MoveAFolder 
=   - 1  
End   if  
End Function  


' 判断目录是否存在 
'
Response.Write ReportFolderStatus("G:/soft/delphi/my_pro/") 
Function  ReportFolderStatus(fldr) 
' //功能:判断目录是否存在 
'
//形参:目录 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  msg 
msg 
=   - 1  
If  (fso.FolderExists(fldr))  Then  
msg 
=   1  
Else  
msg 
=   - 1  
End   If  
ReportFolderStatus 
=  msg 
End Function  


' 目录创建时信息 
Function  ShowFolderAccessInfo(FolderName,InfoType) 
' //功能:显示目录创建时信息 
'
//形参:目录名,信息类别 
'
// 1 -----创建时间 
'
// 2 -----上次访问时间 
'
// 3 -----上次修改时间 
'
// 4 -----目录路径 
'
// 5 -----目录名称 
'
// 6 -----目录类型 
'
// 7 -----目录大小 
'
// 8 -----父目录 
'
// 9 -----根目录 
'
//返回值:成功为目录创建时信息,失败:-1 
'
// 
Dim  f, s 
If  ReportFolderStatus(FolderName)  =   1   then  
Set  f  =  fso.GetFolder(FolderName) 
select   Case  InfoType 
Case   1  s  =  f.Datecreated  ' // 1 ----- 创建时间 
Case   2  s  =  f.DateLastAccessed  ' // 2 -----上次访问时间 
Case   3  s  =  f.DateLastModified  ' // 3 -----上次修改时间 
Case   4  s  =  f.Path  ' // 4 -----文件路径 
Case   5  s  =  f.Name  ' // 5 -----文件名称 
Case   6  s  =  f.Type  ' // 6 -----文件类型 
Case   7  s  =  f.Size  ' // 7 -----文件大小 
Case   8  s  =  f.ParentFolder  ' // 8 ----- 父目录 
Case   9  s  =  f.RootFolder  ' // 9 ----- 根目录 
End   select  
ShowFolderAccessInfo 
=  s 
ELse  
ShowFolderAccessInfo 
=   - 1  
End   if  
End Function  


Function  DisplayLevelDepth(pathspec) 
Dim  f, n ,Path 
Set  f  =  fso.GetFolder(pathspec) 
If  f.IsRootFolder  Then  
DisplayLevelDepth 
= " 指定的文件夹是根文件夹。 " & RootFolder 
Else  
Do  Until f.IsRootFolder 
Path 
=  Path  &  f.Name  & " <br> "  
Set  f  =  f.ParentFolder 
=  n  +   1  
Loop  
DisplayLevelDepth 
= " 指定的文件夹是嵌套级为  "   &  n  &   "  的文件夹。<br> " &  Path 
End   If  
End Function  


' //==================================磁盘操作================================== 
'
驱动器是否存在? 
'
Response.Write ReportDriveStatus("C:/") 
Function  ReportDriveStatus(drv) 
' //功能:判断磁盘是否存在 
'
//形参:磁盘 
'
//返回值:成功为1,失败为-1 
'
// 
Dim  msg 
msg 
=   - 1  
If  fso.DriveExists(drv)  Then  
msg 
=   1  
Else  
msg 
=   - 1  
End   If  
ReportDriveStatus 
=  msg 
End Function  


' --------可用的返回类型包括 FAT、NTFS 和 CDFS。 
'
Response.Write ShowFileSystemType("C:/") 
Function  ShowFileSystemType(drvspec) 
' //功能:磁盘类型 
'
//形参:磁盘名 
'
//返回值:成功为类型:FAT、NTFS 和 CDFS,失败:-1 
'
// 
Dim  d 
If  ReportDriveStatus(drvspec)  =   1   Then  
Set  d  =  fso. GetDrive(drvspec) 
ShowFileSystemType 
=  d.FileSystem 
ELse  
ShowFileSystemType 
=   - 1  
End   if  
End Function  
%
>  

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值