ndfweb.cn

ASP FSO文件處理函數大全


2009-06-04 15:10:02 (5789)



<%
'建立文件夾函數
Function CreateFolder(strFolder)'參數為相對路徑
    '首選判斷要建立的文件夾是否已經存在
    Dim strTestFolder,objFSO
    strTestFolder = Server.Mappath(strFolder)
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    '檢查文件夾是否存在
    If not objFSO.FolderExists(strTestFolder) Then
  '如果不存在則建立文件夾
  objFSO.CreateFolder(strTestFolder)
    End If
 Set objFSO = Nothing
End function
'刪除文件夾
Function DelFolder(strFolder)'參數為相對路徑
 strTestFolder = Server.Mappath(strFolder)
 Set objFSO = CreateObject("Scripting.FileSystemObject")
 '檢查文件夾是否存在
 If objFSO.FolderExists(strTestFolder) Then
  objFSO.DeleteFolder(strTestFolder)
 end if
 Set objFSO = Nothing
End function
'創建文本文件
Function Createtextfile(fileurl,filecontent)'參數為相對路徑和要寫入文件的內容
 Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
 Set fout = objFSO.CreateTextFile(Server.MapPath(fileurl))
 fout.WriteLine filecontent
 fout.close
 Set objFSO = Nothing
End Function
'刪除文件(適合所有文件)
Function Deltextfile(fileurl)'參數為相對路徑
 Set objFSO = CreateObject("Scripting.FileSystemObject")
  fileurl = Server.MapPath(fileurl)
  if objFSO.FileExists(fileurl) then '檢查文件是否存在
   objFSO.DeleteFile(fileurl)
  end if
 Set objFSO = nothing
End Function
'建立圖片文件並保存圖片數據流
Function Createimage(fileurl,imagecontent)'參數為相對路徑和文件內容
 Set objStream = Server.CreateObject("ADODB.Stream")   '建立ADODB.Stream對象,必須要ADO 2.5以上版本
 objStream.Type =1   '以二進製模式打開
 objStream.Open
 objstream.write imagecontent   '將字符串內容寫入緩衝
 objstream.SaveToFile server.mappath(fileurl),2   '-將緩衝的內容寫入文件
 objstream.Close()'關閉對象
 set objstream=nothing
End Function
'遠程獲取文件數據
Function getHTTPPage(url) 
 'On Error Resume Next
 dim http 
 set http=Server.createobject("Microsoft.XMLHTTP") 
 Http.open "GET",url,false 
 Http.send() 
 if Http.readystate<>4 then
  exit function 
 end if 
 getHTTPPage=bytesToBSTR(Http.responseBody,"GB2312")
 set http=nothing
 If Err.number<>0 then 
  getHTTPPage = "服務器獲取文件內容出錯" 
  Err.Clear
 End If  
End function
Function BytesToBstr(body,Cset)
 dim objstream
 set objstream = Server.CreateObject("adodb.stream")
 objstream.Type = 1
 objstream.Mode =3
 objstream.Open
 objstream.Write body
 objstream.Position = 0
 objstream.Type = 2
 objstream.Charset = Cset
 BytesToBstr = objstream.ReadText 
 objstream.Close
 set objstream = nothing
End Function
'獲取圖片數據流
Function getpic(url)
on error resume next
dim http
set http=server.createobject("MSXML2.XMLHTTP")'使用xmlhttp的方法來獲得圖片的內容
Http.open "GET",url,false
Http.send()
if Http.readystate<>4 then 
exit function
end if
getpic=Http.responseBody
set http=nothing
if err.number<>0 then
 getpic = "服務器獲取文件內容出錯"
 err.Clear 
End if
End Function
'打開文件(文本形式)
Function OpenFile(fileurl)'文件相對路徑
 Dim Filename,fso,hndFile
 Filename = fileurl
 Filename = Server.MapPath(Filename)
 Set objfso = CreateObject("Scripting.FileSystemObject")
 If objfso.FileExists(Filename) Then
  set hndFile = objfso.OpenTextFile(Filename)
  OpenFile = hndFile.ReadAll
 Else
  OpenFile = "文件讀取錯誤"
 End If
 Set hndFile = Nothing
 Set objfso = Nothing
End Function 
'獲得文件的後綴名
function getFileExtName(fileName)
dim pos
pos=instrrev(filename,".")
if pos>0 then
getFileExtName=mid(fileName,pos+1)
else
getFileExtName=""
end if
end function
%>

Dim fso,f,folder
    Set fso=Server.CreateObject("scripting.filesystemobject")
    '改目錄名
    Set folder=fso.getfolder(Server.Mappath("Old"))
    folder.name="New" '新名字
    '改文件名
    Set f=fso.getfile(Server.Mappath("Old.asp"))
    f.name="New.asp" '新名字
'釋放

<%   
function copyfile(l1,l2)'複製文件 
    on error resume next   
    dim fs   
    set fs=createobject("Scripting.FileSystemObject")   
        fs.copyfile server.mappath(l1),server.mappath(l2)   
    set fs=nothing   
    if err.number<>0 then err.clear   
end function
copyfile("db1.mdb","db2.mdb")   
%>

 

FSO操作全集
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso

變量調用
getfso=fso.DriveExists("g:\") '判斷指定硬盤驅動器是否存在
getfso=fso.GetDrive("c:") '創建自定義的FSO驅動器對象
getfso=fso.GetDriveName("c:\網絡程序員伴侶") '返回文件夾的所在盤符
Set getfso=fso.Drives '創建FSO驅動器集合對象,多配合for each i in
getfso語句進行窮盡操作,支持所有[驅動器對象屬性],並具有Count和Item屬性

Set fso=Nothing '釋放fso變量與FSO組件的連接資源
</script>

驅動器對象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
getfso=fso.GetDrive("c:").FileSystem '返回驅動器對象的文件係統類型
getfso=fso.GetDrive("c:").DriveType '返回驅動器對象的驅動器類型,返回值範圍0-5
getfso=fso.GetDrive("c:").DriveLetter '返回驅動器對象的字母
getfso=fso.GetDrive("c:").IsReady '返回指定驅動器是否準備好或是否損壞
getfso=fso.GetDrive("c:").SerialNumber '返回驅動器對象的唯一十進製卷標序號
getfso=fso.GetDrive("c:").ShareName '返回驅動器對象的網絡共享名
getfso=fso.GetDrive("c:").VolumeName '返回驅動器對象的卷標名,同時也可以設置其卷標名
getfso=fso.GetDrive("c:").Path '返回驅動器的實際路徑,如c:\則返回c:
getfso=fso.GetDrive("c:").RootFolder '返回驅動器對象的跟文件夾
getfso=fso.GetDrive("c:").AvailableSpace'返回驅動器對象的可用容量大小
getfso=fso.GetDrive("c:").FreeSpace '返回驅動器對象的剩餘空間大小
getfso=fso.GetDrive("c:").TotalSize '返回驅動器對象的總空間容量大小

Set fso=Nothing '釋放fso變量與FSO組件的連接資源
</script>

係統文件夾操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
getfso=fso.GetFolder("c:\") '創建自定義的FSO文件夾對象
getfso=fso.FolderExists("e:\網絡程序員伴侶") '判斷指定文件夾是否存在
getfso=fso.GettempName '隨機返回WINDOW產生在temp文件夾中的臨時文件
getfso=fso.GetparentFolderName("e:\網絡程序員伴侶") '返回指定文件夾的父文件夾
fso.CreateFolder "c:\windows\新創建的文件夾路徑及名稱"
fso.MoveFolder "c:\windows\許移動或改名的文件夾","c:\windows\移動路徑和新的文件夾名"
fso.DeleteFolder "c:\windows\要刪除的目錄名",false/true
fso.CopyFolder "c:\windows\須複製的目錄名","c:\windows\得到付值內容的目錄名",false/true
Set getfso=fso.Folders '創建FSO文件夾集合對象,多配合for each i in getfso語句進行窮盡操作,支持所有[文件夾對象屬性],並具有Count和Item屬性,具有AddFolders方法
Set getfso=fso.Files '創建FSO文件夾內文件集合對象,多配合for each i in getfso語句進行窮盡操作,支持所有[文件對象屬性],並具有Count和Item屬性
Set fso=Nothing '釋放fso變量與FSO組件的連接資源</script>

文件夾對象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
getfso=fso.GetFolder("c:\windows").Name '返回文件夾的名字,這裏返回WINDOW
getfso=fso.GetFolder("c:\windows").ShortName '返回文件夾[8.3]格式的名稱
getfso=fso.GetFolder("c:\windows").Attributes '返回文件夾的屬性,可返回0,1,2,4,8,16,32,64,128
getfso=fso.GetFolder("c:\windows").Size '返回文件夾(包括子文件夾)內文件占用空間大小
getfso=fso.GetFolder("c:\windows").Type '返回文件夾類型信息
getfso=fso.GetFolder("c:\windows").Path '返回文件夾的真實路徑
getfso=fso.GetFolder("c:\windows").ShortPath '返回文件夾[8.3]格式的路徑
getfso=fso.GetFolder("c:\windows").Drive '返回文件夾所在驅動器
getfso=fso.GetFolder("c:\windows").Files.count '返回文件夾包含的所有文件對象集合
getfso=fso.GetFolder("c:\windows").SubFolders.count '返回文件夾包含的所有子文件夾的對象集合
getfso=fso.GetFolder("c:\windows").ParentFolder '返回文件夾的父文件夾對象
getfso=fso.GetFolder("c:\windows").IsRootFolder '返回文件夾是否為跟文件夾,是返回true否返回false
getfso=fso.GetFolder("c:\windows").DateCreated '返回文件夾的最初創建時間
getfso=fso.GetFolder("c:\windows").DateLastAccessed '返回文件夾最後一次訪問時間
getfso=fso.GetFolder("c:\windows").DateLastModified '返回文件夾最近修改的時間
fso.GetFolder("c:\windows").CreateTextFile "新建的文件名及後綴",true/false,true/false
fso.GetFolder("c:\windows\要刪除的目錄名").Delete true
fso.GetFolder("c:\windows\要移動改名的目錄名").Move "文件夾將要移動到的路徑及自定義文件夾名稱"
fso.GetFolder("c:\windows\舊目錄").Copy "複製到路徑",true/false '在指定路徑付值此文件夾,true=覆蓋,false相反
Set fso=Nothing '釋放fso變量與FSO組件的連接資源</script>

係統文件操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
getfso=fso.GetFile("c:\windows\help.html") '得到文件完整路徑
getfso=fso.GetFileName("c:\windows\help.html") '得到文件名稱和後綴
getfso=fso.GetExtensionName("c:\windows\help.html") '得到文件的文件類型(後綴),不含小數點
getfso=fso.FileExists("c:\windows\文件名.html") '判斷文件是否存在
fso.MoveFile "要移動及改名的原文件路徑","移動到某路徑及自定義新文件名"
fso.DeleteFile "c:\windows\要刪除的文件所在路徑",false/true
fso.CopyFile "c:\windows\須複製的舊文件.txt","c:\windows\複製後的文件名.jpg",false/true
fso.OpenTextFile "c:\windows\desktop\要打開操作的文件名稱.txt",1/2/8,true/false,0/-1/-2 'ForReading=1=隻讀方式,ForWriting=2=可寫方式,ForAppending=8=追加方式.true=如果打開的文件不存在則創建該文件.TristateFalse=0=以係統默認方式打開,TristateTrue=-1=以Unicode格式打開文件,TristateUseDefaule=-2=以ASCLL格式打開文件(缺剩值)
fso.CreateTextFile "c:\windows\desktop\新建的文件名稱.txt",false/true,false/true '前者true覆蓋以存在同名文件,後者為true新文件將以Unicode方式創建,反之=結果相反
Set fso=Nothing '釋放fso變量與FSO組件的連接資源
</script>

文件對象操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
getfso=fso.GetFile("c:\windows\筆記本.txt").Name '返回文件對象的名稱包含後綴
getfso=fso.GetFile("c:\windows\筆記本.txt").ShortName '返回文件對象的[8.3]名稱包含後綴
getfso=fso.GetFile("c:\windows\筆記本.txt").Attributes '返回文件對象的屬性,可返回0,1,2,4,8,16,32,64,128
getfso=fso.GetFile("c:\windows\筆記本.txt").Size '返回文件對象的大小
getfso=fso.GetFile("c:\windows\筆記本.txt").Type '返回文件對象的類型
getfso=fso.GetFile("c:\windows\筆記本.txt").Path '返回文件對象的完整路徑
getfso=fso.GetFile("c:\windows\筆記本.txt").ShortPath '返回文件對象的[8.3]的完整路徑
getfso=fso.GetFile("c:\windows\筆記本.txt").Drive '返回此文件對象所在的驅動器
getfso=fso.GetFile("c:\windows\筆記本.txt").ParentFolder '返回文件對象所在的文件夾
getfso=fso.GetFile("c:\windows\筆記本.txt").DateCreated '返回文件對象的創建日期
getfso=fso.GetFile("c:\windows\筆記本.txt").DateLastAccessed '返回文件對象的最後訪問日期
getfso=fso.GetFile("c:\windows\筆記本.txt").DateLastModified '返回文件對象的最後修改時間
fso.GetFile("c:\windows\筆記本.txt").Copy "複製到的路徑和文件名",true/false
fso.GetFile("c:\windows\筆記本.txt").Delete true
fso.GetFile("c:\windows\筆記本.txt").Move "移動到的路徑及自定義文件名
Set fso=Nothing '釋放fso變量與FSO組件的連接資源
</script>

文件對象讀寫操作
<script language=vbs>
on error resume next
Set fso=CreateObject("Scripting.FileSystemObject") '使FSO組件可以被fso變量調用
set link1=fso.GetFile("c:\windows\筆記本.txt").OpenAsTextStream(1/2/8,0/-1/-2)
open1=link1.AtendOfline '判斷文件指針是否以在行的末尾
open2=link1.AtendOfstream '判斷文件指針是否一再文件的末尾
open3=link1.Column '返回當前字符所在文件的列號
open4=link1.Line '返回當前字符所在文件的行號
open5=link1.Read(10) '讀取文件中指定數量的字符
open6=link1.ReadAll '讀取文件中所有的字符
open7=link1.ReadLine '讀取文件中一行中含有的字符
open8=link1.Write "字符串" '將自定字符串或字符串變量寫入文件
open9=link1.WriteLine "字符" '將自定字符+一個換行符寫入文件
open10=link1.WriteBlankLines 10 '將指定數量的換行符寫入文件
open11=link1.Skip 10 '使文件指針跳過指定數量的字符
open12=link1.SkipLine '使文件指針跳到下一行
link1.Close '文件操作完畢,銷毀文件對象指針
Set fso=Nothing '釋放fso變量與FSO組件的連接資源
</script>

本文版权:http://www.ndfweb.cn/news-359.html
  NDF俱乐部
  国际域名注册
  建站咨询
简体中文 NDF网站建设淘宝店 | ICO图标在线生成 | 外贸网站建设 | 联系我们
©2007-2025 NDF Corporation 鲁ICP备08005967号 Sitemap - RSSRSS订阅