asp+FSO常用操作

  • 内容
  • 评论
  • 相关

fso中判断文件夹是否存在
set fso = server.createobject("scripting.filesystemobject")
if fso.FolderExists(server.mappath("../folderName"))=false then
REsponse.write("此文件夹不存在")
end if
fso中判断文件是否存在
set fso = server.createobject("scripting.filesystemobject")
if fso.fileexists(server.mappath("../folderName/fileName.htm")) = true then
Response.write("文件存在")
end if
fso中写文件
dim fileName,fileContent
fileName = replace(date(),"-","")
randomize
fileName = fileName & cstr(int(rnd(10)*100000)) & ".htm"
HtmlName = fileName 'HtmlName为数据库中的文件名
set fso = server.CreateObject("scripting.filesystemobject")
if fso.FolderExists(server.MapPath("./Files"))=false then '检查要生成的HTML文件夹是否存在
fso.CreateFolder(server.MapPath("../Files"))
end if
fileName = server.MapPath("../Files") & "/" & fileName
set MyFile = fso.opentextfile(fileName,2,true)
fileContent = "....(content)"
MyFile.write(fileContent)
MyFile.Close()
set MyFile = nothing
fso中删除文件
set fso = server.createobject("script.filesystemobject")
fileName = ..
fso.deletefile(fileName)
set fso = nothing

  • <%  
  • '//==================================文件操作==================================  
  • '取文件大小  
  • 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 = s & f1.name  
  • s = 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)  
  • m = 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(Folderspec) = 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 = s & f1.name  
  • s = 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 = 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  
  • %>  
  • 循环显示文件夹

    <% 
     folderspec=server.mappath("../templet/")  
    Set fs = CreateObject("Scripting.FileSystemObject")
    set folder=fs.getfolder(folderspec)
    set folders=folder.SubFolders
    for each item in folders
    %>
    <option value="<%=item.name%>" <%if trim(rs("wr_foldername"))=item.name then response.write "selected"%>><%=item.name%></option>
    <%
    next
    %>  

    循环显示文件

    <%
    for each item in files
    %>
    <a href="of.asp?b=<%=server.URLEncode(str&item.name)%>"><%=item.name%></a>
    <BR>
    <%
    next
    %>

    评论

    0条评论

      发表评论

      电子邮件地址不会被公开。 必填项已用*标注

      click to change 看不清?点击换一张!