⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cls_fso.asp

📁 一个互联网络公司网站源码
💻 ASP
字号:
<% 
'====================================================================

'= 文件名称:/inc/Cls_FSO.asp
'= 摘    要:FSO操作类
'=-------------------------------------------------------------------
'= 最后更新:jackie
'= 最后日期:2007-8-29
'====================================================================
'= 文件操作类 
'= 文件名称 
'= 文件大小 
'= 文件创建 
'= FileName--文件名称 
'= foldername--文件夹名称
'= DestinationFile--目标文件名称 
'= FileSize--获得文件大小 
'= FileCreatedDate--获得文件创建日期 
'= FileAttributes--获得文件属性 
'= ShowFileAccessInfo(InfoType)--获得文件属性 
'= CreateTxtFile()--创建文本文件 
'= WriteTxtFile(TextStr,WriteORAppendType)==写文本文件 
'= ReadTxtFile()--读取文本文件 
'= DeleteFile()--删除文件 
'= CopyFile()--拷贝文件 
'= MoveFile()--移动文件 
'=  
' 
Class Cls_FSO 
	Private o_Fso,s_FileName,s_DestinationFile 
	Private s_FolderName,s_DestinationFolder 

	Private Sub Class_Initialize() 
	Set o_Fso = CreateObject("Scripting.FileSystemObject") 
	End Sub 

	Private Sub Class_Terminate() 
	Set o_Fso = Nothing 
	End Sub 

	'===============================================文件操作==================================== 

	'************************************
	'属性
	'************************************
	'设置文件名字 
	'************************************

	Public Property Let FileName(Byval Values) 
		s_FileName=Values 
		'checkFile '检查文件 
	End Property 

	'************************************
	'属性
	'************************************
	'设置目标文件名 

	Public Property Let DestinationFile(Byval Values) 
		s_DestinationFile=Values 
	End Property 


	'************************************
	'属性
	'************************************
	'取文件大小 

	Public Property Get FileSize() 
		If fileExist Then 
			Dim f 
			Set f = o_Fso.Getfile(s_FileName) 
			FileSize = f.Size 
		Else 
			FileSize=0 
		End if 
	End Property 

	'************************************
	'属性
	'************************************
	'取文件创建日期

	Public Property Get FileCreatedDate() 
		If fileExist Then 
			Dim f 
			Set f = o_Fso.GetFile(s_FileName) 
			FileCreatedDate = f.DateCreated 
		Else 
			FileCreatedDate="1900-1-1" 
		End if 

	End Property 

	'************************************
	'属性
	'************************************
	'取文件属性 

	Public Property Get FileAttributes() 
		If fileExist Then 
			Dim f,Str 
			Set f = o_Fso.GetFile(s_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 
			FileAttributes=Str 
		Else 
			FileAttributes="文件不存在或不可预测地属性" 
		End if 

	End Property 
	'************************************
	'方法
	'************************************
	'显示文件信息
	'************************************
	'形参:文件名,信息类别 
	'        1  -----创建时间 
	'        2  -----上次访问时间 
	'        3  -----上次修改时间 
	'        4  -----文件路径 
	'        5  -----文件名称 
	'        6  -----文件类型 
	'        7  -----文件大小 
	'        8  -----父目录 
	'        9  -----根目录 

	Public Function ShowFileAccessInfo(InfoType)

	'判断参数是否是数字 
		If fileExist Then 
			Dim f, s 
			Set f = o_Fso.GetFile(s_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          '//        9  -----根目录 
			End Select 
			ShowFileAccessInfo=s 
		Else 
			ShowFileAccessInfo="文件不存在:(" 
		End if 

	End Function 

	'************************************
	'方法
	'************************************
	'检验文件是否存在

	Private Function fileExist 
		fileExist = True 
		'检查文件路径 

		'检查文件是否存在 
		If Not(o_Fso.FileExists(s_FileName)) Then 
			fileExist = False 
		End If 
	End Function

	'************************************
	'方法
	'************************************
	'抛异常

	Private Function showErr(s_Msg) 
		Response.Write(s_Msg) 
		Set Fso=Nothing 
		Response.End()  
	End Function 

	'************************************
	'方法
	'************************************
	'创建空文件

	Public Function CreateTxtFile() 
	'//创建空文件 
		If fileExist Then 
			showErr "文件已经存在:(" 
		Else 
			Dim f 
			Set f=o_Fso.CreateTextFile(s_FileName) 
			f.Close 
		End If 
	End Function 

	'************************************
	'方法
	'************************************
	'写文件
	'************************************
	'实参:文本内容
	'      写入类型 ---覆盖写入or追加写入(1,2) 

	Public Function WriteTxtFile(TextStr,WriteORAppendType) 
		Const ForReading = 1, ForWriting = 2 , ForAppending = 8 
		Dim f, m 
		If Not fileExist Then CreateTxtFile()
		Select Case WriteORAppendType 
			Case 1:            '文件进行写操作 
			Set f = o_Fso.OpenTextFile(s_FileName, ForWriting, True) 
			f.Write TextStr 
			f.Close 
			If Not fileExist Then 
				showErr "文件写入失败" 
			End if 
			Case 2:            '文件末尾进行写操作 
			If fileExist Then 
				Set f = o_Fso.OpenTextFile(s_FileName, ForAppending) 
				f.Write TextStr 
				f.Close 
			Else 
				showErr "文件追加失败" 
			End if 
		End Select 
	End Function 
	'************************************
	'方法
	'************************************
	'读取文件

	Public Function ReadTxtFile() 
		Const ForReading = 1, ForWriting = 2 
		Dim f, m 
		If fileExist Then 
			Set f = o_Fso.OpenTextFile(s_FileName, ForReading) 
			'm =  f.ReadLine 
			m =  f.ReadAll 
			'f.SkipLine 
			ReadTxtFile = m 
			f.Close 
		Else 
			ReadTxtFile = "文件读取失败-文件不存在:(" 
		End if 
	End Function 

	Public Function DeleteFile() 
		If fileExist Then 
			o_Fso.DeleteFile(s_FileName) 
		Else 
			showErr "文件已经不存在:(" 
		End if 
	End Function 

	'************************************
	'方法
	'************************************
	'拷贝文件
	'        源文件存在时,才能对文件进行复制,目的文件无影响

	Public Function CopyFile() 
		 
		'//SourceFile=s_FileName 
		If fileExist Then 
			Dim MyFile 
			If s_FileName=s_DestinationFile Then 
				showErr "禁止一相同文件名拷贝到同一目录下:(" 
			End IF 
			Set MyFile = o_Fso.GetFile(s_FileName) 
			MyFile.Copy (s_DestinationFile) 
		Else 
			showErr "文件已经不存在" 
		End if 

	End Function 

	Public Function MoveFile() 
		If fileExist Then 
			Dim SourceFile 
			If s_FileName=s_DestinationFile Then 
				showErr "禁止一相同文件名移动到同一目录下:(" 
			End IF 
			o_Fso.MoveFile s_FileName,s_DestinationFile 
		Else 
			showErr "文件已经不存在:(" 
		End If 

	End Function 


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

	'设置目录名 
	Public Property Let FolderName(Byval Values) 
	s_FolderName=Values 
	'checkFolder '检查文件 
	End Property 

	'设置目标目录名 
	Public Property Let DestinationFolder(Byval Values) 
	s_DestinationFolder=Values 
	End Property 

	'获得目录大小 

	'获得目录创建信息 

	'判断目录是否存在 

	'创建目录
	Public Function CreateFolder()
	If not o_Fso.FolderExists(s_FolderName) then
	o_Fso.CreateFolder(s_FolderName)
	end if
	End Function

	'删除目录 

	'拷贝目录 

	'移动目录 

	'重命名目录 

	'===============================================遍历操作==================================== 
	
	'************************************
	'方法
	'************************************
	'显示文件列表 
	Private Function ReportFolderStatus()
		If o_Fso.FolderExists(s_FolderName) Then 
			ReportFolderStatus=True
		Else
			ReportFolderStatus=False 
		End If 
	End Function 

	Public Function ShowFileList() 
		Dim f, f1, fc, s 
		If ReportFolderStatus() Then 
			Set f = o_Fso.GetFolder(s_FolderName) 
			Set fc = f.Files 
			For Each f1 in fc 
				s = s & f1.name 
				s = s & "|" 
			Next 
			ShowFileList = Left(s,Len(s)-1) 
		Else 
			ShowFileList = "该目录没有文件" 
		End if 
	End Function 


End Class 

'Set myFile=new Cls_FSO 
'myFile.FileName=Server.MapPath("file.txt") 
'myFile.CreateTxtFile() 
'myFile.WriteTxtFile "Test",2 
'myFile.DestinationFile=Server.MapPath("file2.txt") 
'myFile.CopyFile() 
'myFile.FileName=Server.MapPath("file2.txt") 
'myFile.DeleteFile() 
'response.Write(myFile.FileSize) 
'for i =0 to 8 
'response.Write(myFile.ShowFileAccessInfo(i) ) 
'response.Write("
'") 
'next 
 %> 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -