分享
 
 
 

FileSystemObject 物件

王朝system·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

FileSystemObject (FSO) 物件模型包含下列物件和集合物件。

物件 / 集合物件

說明

FileSystemObject

主要物件。其中包含的方法和屬性可讓您建立、刪除與處理磁碟機、資料夾和檔案,並取得相關的資訊。多數與此物件相關的方法和其他 FSO 物件中的方法重覆,這是為了方便起見而提供這些方法。

Drive

物件。其中包含的方法和屬性可讓您收集連到系統的磁碟機資訊,例如磁碟機的共用名稱和可用空間容量。請注意,「磁碟機」並不一定專指硬碟,也可以是 CD-ROM 光碟機、RAM 磁碟機等等。磁碟機並不一定要實際連到系統上,也可以透過網路以邏輯方式連接。

Drives

集合物件。提供連到系統的磁碟機清單,包含實體或邏輯磁碟機。Drives 集合物件包含所有的磁碟機,不論其類型為何。抽取式磁碟機不需要插入媒體,就能出現在這個集合物件中。

File

物件。其中包含的方法和屬性可讓您建立、刪除或移動檔案。也可讓您向系統查詢檔案名稱、路徑和其他各種屬性。

Files

集合物件。提供某個資料夾內包含的所有檔案的清單。

Folder

物件。其中包含的方法和屬性可讓您建立、刪除或移動資料夾。也可讓您向系統查詢資料夾名稱、路徑和其他各種屬性。

Folders

集合物件。提供 Folder 內所有資料夾的清單。

TextStream

物件。可讓您讀取和寫入文字檔。

建立 FileSystemObject 物件

首先,利用 CreateObject 方法建立一個 FileSystemObject 物件。在 VBScript 中請使用下列程式碼來建立 FileSystemObject 的執行個體:

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

這段範例程式碼說明如何建立 FileSystemObject 的執行個體。

使用適當的方法

其次,使用 FileSystemObject 物件的適當方法。舉例來說,若要建立新的物件,請使用 CreateTextFile 或 CreateFolder (FSO 物件模型不支援建立或刪除磁碟機)。

若要刪除物件,請使用 FileSystemObject 物件的 DeleteFile 和 DeleteFolder 方法,或 File 和 Folder 物件的 Delete 方法。您也可以利用適當的方法,來複製和移動檔案與資料夾。

備註 FileSystemObject 物件模型的某些功能是重複的。例如,您可以利用 FileSystemObject 物件的 CopyFile 方法或 File 物件的 Copy 方法來複製檔案。這兩種方法可達到相同的效果;同時存在的目的是為了提供程式設計的彈性。

存取現有的磁碟機、檔案和資料夾

若要存取現有的磁碟機、檔案或資料夾,請使用 FileSystemObject 物件中適當的「Get」方法:

GetDrive

GetFolder

GetFile

若要在 VBScript 中存取現有的檔案:

Dim fso, f1

Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.GetFile("c:\test.txt")

請勿對剛建立的物件使用「Get」方法,因為「Create」函數已經將物件代碼傳回該物件。舉例來說,如果您使用 CreateFolder 方法建立一個新的資料夾,請勿使用 GetFolder 方法 來存取它的屬性,例如 Name、Path 和 Size 等等。請為 CreateFolder 函數設定一個變數,為剛建立的資料夾取得一個控制碼,然後再存取它的 屬性、方法和事件。在 VBScript 中可使用下列程式碼來完成上述操作:

Sub CreateFolder

Dim fso, fldr

Set fso = CreateObject("Scripting.FileSystemObject")

Set fldr = fso.CreateFolder("C:\MyTest")

Response.Write "Created folder: " & fldr.Name

End Sub

存取物件的屬性

當您擁有物件的控制碼時,便可存取它的屬性。舉例來說,若要取得特定資料夾的名稱,請先 建立一個物件的執行個體,然後利用適當的方法 (在此例中為 GetFolder 方法,因為資料夾已經存在) 為它指定一個控制碼。

在 VBScript 中請使用下列程式碼為 GetFolder 方法指定一個控制碼:

Set fldr = fso.GetFolder("c:\")

您現在擁有 Folder 物件的控制碼了,所以可查看它的 Name 屬性。在 VBScript 中請使用下列程式碼來查看屬性:

Response.Write "Folder name is: " & fldr.Name

若要查看檔案最後一次修改的時間,請使用下列的 VBScript 語法:

Dim fso, f1

Set fso = CreateObject("Scripting.FileSystemObject")

' 取得一個要查詢的File 物件。

fso.GetFile("c:\detlog.txt")

' 列印訊息。

Response.Write "File last modified: " & f1.DateLastModified

料夾的處理

下表列出常見的資料夾任務和執行這些任務的方法。

任務

方法

建立資料夾。

FileSystemObject.CreateFolder

刪除資料夾。

Folder.Delete 或 FileSystemObject.DeleteFolder

移動資料夾

Folder.Move 或 FileSystemObject.MoveFolder

複製資料夾。

Folder.Copy 或 FileSystemObject.CopyFolder

擷取資料夾的名稱。

Folder.Name

檢查磁碟機上是否存在某個資料夾。

FileSystemObject.FolderExists

取得現有的 Folder 物件的執行個體。

FileSystemObject.GetFolder

找出資料夾的上層資料夾名稱。

FileSystemObject.GetParentFolderName

找出系統資料夾的路徑。

FileSystemObject.GetSpecialFolder

Sub ShowFolderInfo()

Dim fso, fldr, s

' 取出FileSystemObject的個體執行。

Set fso = CreateObject("Scripting.FileSystemObject")

' 取出Drive 物件。

Set fldr = fso.GetFolder("c:")

' 列印上層資料夾名稱。

Response.Write "Parent folder name is: " & fldr & "<br>"

' 列印磁碟名稱。

Response.Write "Contained on drive " & fldr.Drive & "<br>"

' 列印根檔案名稱。

If fldr.IsRootFolder = True Then

Response.Write "This is the root folder." & ""<br>"<br>"

Else

Response.Write "This folder isn't a root folder." & "<br><br>"

End If

' 用FileSystemObject 物件建立一個新的資料夾。

fso.CreateFolder ("C:\Bogus")

Response.Write "Created folder C:\Bogus" & "<br>"

' 列印這個資料夾的base name 。

Response.Write "Basename = " & fso.GetBaseName("c:\bogus") & "<br>"

' 刪除新建立的資料夾。

fso.DeleteFolder ("C:\Bogus")

Response.Write "Deleted folder C:\Bogus" & "<br>"

End Sub

檔案的處理檔案的處理分為兩大類: 建立、加入或移除資料,以及讀取檔案 移動、複製和刪除檔案 建立檔案有三種方法可建立空白的文字檔 (有時稱為「文字資料流」)。

第一種方法是使用 CreateTextFile 方法。下面的範例說明如何使用此種方法在 VBScript 中建立文字檔:

Dim fso, f1

Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.CreateTextFile("c:\testfile.txt", True)

建立文字檔的第二種方法是使用設定 ForWriting 旗標之 FileSystemObject 物 件的 OpenTextFile 方法。在 VBScript 中的程式碼就如下面的範例所示:

Dim fso, ts

Const ForWriting = 2

Set fso = CreateObject("Scripting. FileSystemObject")

Set ts = fso.OpenTextFile("c:\test.txt", ForWriting, True)

建立文字檔的第三種方法是使用設定 ForWriting 旗標的 OpenAsTextStream 方法。採用此種方法時,請在 VBScript 中使用下列程式碼:

Dim fso, f1, ts

Const ForWriting = 2

Set fso = CreateObject("Scripting.FileSystemObject")

fso.CreateTextFile ("c:\test1.txt")

Set f1 = fso.GetFile("c:\test1.txt")

Set ts = f1.OpenAsTextStream(ForWriting, True)

將資料加入檔案中建立好文字檔後,可依下列三個步驟將資料加入檔案:

開啟文字檔。

寫入資料。

關閉檔案。

若要開啟現有的檔案,請使用 FileSystemObject 物件的 OpenTextFile 方法或 File 物件的 OpenAsTextStream 方法。

若要將資料寫入已開啟的文字檔中,請依下表列出的不同任務使用 TextStream 物件的 Write、WriteLine 或 WriteBlankLines 方法。

任務方法將資料寫入開啟的文字檔,但不加入換行字元。

Write

將資料寫入開啟的文字檔,並加入換行字元。

WriteLine

在開啟的文字檔中寫入一或多行空白行。

WriteBlankLines

若要關閉開啟的檔案,請使用 TextStream 物件的 Close 方法。

備註 換行字元包含一或多個字元 (視 作業系統而定),可讓游標移到下一行的開頭 (復位字元/跳行)。請注意,某些字串的結尾可能 已經包含這類非列印字元。

下面的 VBScript 範例說明如何開啟檔案、使用三種寫入方法將資料加入檔案,以及關閉檔案:

Sub CreateFile()

Dim fso, tf

Set fso = CreateObject("Scripting.FileSystemObject")

Set tf = fso.CreateTextFile("c:\testfile.txt", True)

' Write a line with a newline character.

tf.WriteLine("Testing 1, 2, 3.")

' Write three newline characters to the file.

tf.WriteBlankLines(3)

' Write a line.

tf.Write ("This is a test.")

tf.Close

End Sub

讀取檔案若要從文字檔中讀取資料,請使用 TextStream 物件的 Read、ReadLine 或 ReadAll 方法。下表說明不同的任務應使用何種方法。

任務方法從檔案中讀取特定數量的字元。

Read

讀取一整行 (不含換行字元)。

ReadLine

讀取文字檔的完整內容。

ReadAll

如果您使用 Read 或 ReadLine 方法,並想跳移到特定位置的資料,請使用 Skip 或 SkipLine 方法。各種讀取方法所取得的結果文字會存成字串,該字串 可在控制項中顯示,由字串函數剖析 (例如 Left、Right 和 Mid) 或加 以串連。

下面的 VBScript 範例說明如何開啟檔案、寫入檔案,以及讀取檔案:

Sub ReadFiles

Dim fso, f1, ts, s

Const ForReading = 1

Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.CreateTextFile("c:\testfile.txt", True)

' 撰寫一行。

Response.Write "Writing file <br>"

f1.WriteLine "Hello World"

f1.WriteBlankLines(1)

f1.Close

' 讀取檔案內容。

Response.Write "Reading file <br>"

Set ts = fso.OpenTextFile("c:\testfile.txt", ForReading)

s = ts.ReadLine

Response.Write "File contents = '" & s & "'"

ts.Close

End Sub

移動、複製和刪除檔案下表說明 FSO 物件模型提供的兩種移動、複製和刪除檔案的方法。

任務方法移動檔案

File.Move 或 FileSystemObject.MoveFile

複製檔案

File.Copy 或 FileSystemObject.CopyFile

刪除檔案

File.Delete 或 FileSystemObject.DeleteFile

下面的 VBScript 範例在磁碟機 C 的根目錄建立一個文字檔,在檔案中寫入一些資訊,將檔案 移到 \tmp 目錄,將檔案複製到 \temp 目錄,然後再從這兩個目錄中刪除檔案。

若要執行下列範例,請在磁碟機 C: 的根目錄建立 \tmp 和 \temp 目錄:

Sub ManipFiles

Dim fso, f1, f2, s

Set fso = CreateObject("Scripting.FileSystemObject")

Set f1 = fso.CreateTextFile("c:\testfile.txt", True)

Response.Write "Writing file <br>"

' 撰寫一行。

f1.Write ("This is a test.")

' 關閉寫入的檔案。

f1.Close

Response.Write "Moving file to c:\tmp <br>"

' 在C:\的根目錄底下取得一個控制碼。

Set f2 = fso.GetFile("c:\testfile.txt")

' 移動檔案到\tmp 目錄。

f2.Move ("c:\tmp\testfile.txt")

Response.Write "Copying file to c:\temp <br>"

' 複製檔案到\temp。

f2.Copy ("c:\temp\testfile.txt")

Response.Write "Deleting files <br>"

' 取得到檔案目前位置的控制碼。

Set f2 = fso.GetFile("c:\tmp\testfile.txt")

Set f3 = fso.GetFile("c:\temp\testfile.txt")

' 刪除檔案。

f2.Delete

f3.Delete

Response.Write "All done!"

End Sub

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有