ASP檔案操作

來源:互聯網
上載者:User

FSO - FileSystemObject 或 Scripting.FileSystemObject 的縮寫,為 IIS 內建群組件,用於操作磁碟、檔案夾或文字檔。FSO 的對象、方法和屬性非常的多,這裡用樣本的方式列出常用的,如果您要查看更詳盡的資訊,請點擊這裡下載 FileSystemObject 參考,注意:《VBScript 語言參考》或《JScript 語言參考》中的:《FileSystemObject 使用者指南》和《Scripting 執行階段程式庫參考》便是微軟給出的 FileSystemObject 完整參考。

FSO 不能操作二進位檔案,要操作二進位檔案,請使用:ADODB.Stream。

建立檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.CreateTextFile("C:\test.txt", true) '第二個參數表示目標檔案存在時是否覆蓋
f.Write("寫入內容")
f.WriteLine("寫入內容並換行")
f.WriteBlankLines(3) '寫入三個空白行(相當於在文字編輯器中按三次斷行符號)
f.Close()
set f = nothing
set fso = nothing

開啟並讀檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 1, false) '第二個參數 1 表示唯讀開啟,第三個參數表示目標檔案不存在時是否建立
f.Skip(3) '將當前位置向後移三個字元
f.SkipLine() '將當前位置移動到下一行的第一個字元,注意:無參數
response.Write f.Read(3) '從當前位置向後讀取三個字元,並將當前位置向後移三個字元
response.Write f.ReadLine() '從當前位置向後讀取直到遇到分行符號(不讀取分行符號),並將當前位置移動到下一行的第一個字元,注意:無參數
response.Write f.ReadAll() '從當前位置向後讀取,直到檔案結束,並將當前位置移動到檔案的最後
if f.atEndOfLine then
    response.Write("一行的結尾!")
end if
if f.atEndOfStream then
    response.Write("檔案的結尾!")
end if
f.Close()
set f = nothing
set fso = nothing

開啟並寫檔案
dim fso, f
set fso = server.CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("C:\test.txt", 2, false) '第二個參數 2 表示重寫,如果是 8 表示追加
f.Write("寫入內容")
f.WriteLine("寫入內容並換行")
f.WriteBlankLines(3) '寫入三個空白行(相當於在文字編輯器中按三次斷行符號)
f.Close()
set f = nothing
set fso = nothing

判斷檔案是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FileExists("C:\test.txt") then
    response.Write("目標檔案存在")
else
    response.Write("目標檔案不存在")
end if
set fso = nothing

移動檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.MoveFile("C:\test.txt", "D:\test111.txt") '兩個參數的檔案名稱部分可以不同
set fso = nothing

複製檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
call fso.CopyFile("C:\test.txt", "D:\test111.txt") '兩個參數的檔案名稱部分可以不同
set fso = nothing

刪除檔案
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFile("C:\test.txt")
set fso = nothing

建立檔案夾
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.CreateFolder("C:\test") '目標檔案夾的父資料夾必須存在
set fso = nothing

判斷檔案夾是否存在
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
if fso.FolderExists("C:\Windows") then
    response.Write("目標檔案夾存在")
else
    response.Write("目標檔案夾不存在")
end if
set fso = nothing

刪除檔案夾
dim fso
set fso = server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFolder("C:\test") '檔案夾不必為空白
set fso = nothing
CreateTextFile
(filename,overwrite,unicode) 
用指定的檔案名稱在檔案夾內建立一個新的文字檔,並且返回一個相應的TextStream對象。如果可選的overwrite參數設定為True,將覆蓋任何已有的同名檔案。預設的overwrite參數是False。如果可選的unicode參數設定為True,檔案的內容將儲存為unicode文本。預設的unicode是False 

       在檔案夾之間可以使用當前檔案夾的ParentFolder屬性,返回到父目錄。當到達一個檔案夾時,如果IsRootFolder屬性是True,就停下來。離開磁碟機的根目錄,沿分類樹向下,可遍曆或訪問在Folders集合(由當前檔案夾的SubFolders屬性返回)內的指定檔案夾。
       下列程式遍曆了磁碟機C根目錄內的所有檔案夾,並顯示各個檔案夾的有關資訊。
       VBScript程式如下:
       'In VBScript:
' Create a FileSystemObject instance
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
' Get a reference to drive C
Set objDriveC = objFSO.GetDrive("C:")
' Get a reference to the root folder
Set objRoot = objDriveC.RootFolder
' Get a reference to the SubFolders collection
Set objFolders = objRoot.SubFolders
' Get a reference to the first folder in the SubFolders collection
For Each objFolder In objFolders
  Set objFolder1 = objFolders.Item((objFolder.Name))
  Exit For
Next
' Iterate through all the files in this folder
For Each objFile in objFolder1.Files
  Response.Write "Name: " & objFile.Name & "   "
  Response.Write "ShortName: " & objFile.ShortName & "   "
  Response.Write "Size: " & objFile.Size & " bytes    "
  Response.Write "Type: " & objFile.Type & "<BR>"
  Response.Write "Path: " & objFile.Path & "   "
  Response.Write "ShortPath: " & objFile.ShortPath & "<BR>"
  Response.Write "Created: " & objFile.DateCreated & "   "
  Response.Write "LastModified: " & objFile.DateLastModified & "<P>"
Next
JScript程式如下:
//In JScript:
// Create a FileSystemObject instance
var objFSO = Server.CreateObject('Scripting.FileSystemObject');
// Get a reference to drive C
var objDriveC = objFSO.GetDrive('C:');
// Get a reference to the root folder
var objRoot = objDriveC.RootFolder;
// Get a reference to the first folder in the SubFolders collection
var colAllFolders = new Enumerator(objRoot.SubFolders);
var objFolder1 = colAllFolders.item();
// Get a reference to the Files collection for this folder
var colFiles = new Enumerator(objFolder1.Files);

// Iterate through all the files in this collection
for (; !colFiles.atEnd(); colFiles.moveNext()) {
  objFile = colFiles.item()
  Response.Write('Name: ' + objFile.Name + '   ');
  Response.Write('ShortName: ' + objFile.ShortName + '   ');
  Response.Write('Size: ' + objFile.Size + ' bytes    ');
  Response.Write('Type: ' + objFile.Type + '<BR>');
  Response.Write('Path: ' + objFile.Path + '   ');
  Response.Write('ShortPath: ' + objFile.ShortPath + '<BR>');
  Response.Write('Created: ' + objFile.DateCreated + '   ');
  Response.Write('Accessed: ' + objFile.DateLastAccessed + '   ');
  Response.Write('Modified: ' + objFile.DateLastModified + '<P>');
}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.