1.首先,我們回顧下FSO是什么?
文件系統對象FSO的英文全稱是File System Object ,這種對象模型提出了有別于傳統的文件操作語句處理文件和文件夾的方法。通過采用object.method這種在面向對象編程中廣泛使用的語法,將一系列操作文件和文件夾的動作通過調用對象本身的屬性直接實現。
2.FSO能做什么?
FSO對象模型包含在Scripting 類型庫 (Scrrun.Dll)中,它同時包含了Drive、Folder、File、FileSystemObject和TextStream五個對象。其中Drive用來收集驅動器的信息,如可用磁盤空間或驅動器的類型;Folder用于創建、刪除或移動文件夾,同時可以進行向系統查詢文件夾的路徑等操作;File的基本操作和Folder基本相同,所不同的是Files的操作主要是針對磁盤上的文件進行的;FileSystemObject是FSO對象模型中最主要對象,它提供了一套完整的可用于創建、刪除文件和文件夾,收集驅動器、文件夾、文件相關信息的方法。需要注意的是,FSO對象模型提供的方法是冗余的,也就是說在實際使用中,FSO對象模型中包含的不同對象的不同方法進行的卻是同樣的操作,而且FileSystemObject對象的方法直接作用于其余對象,所以在后面的文章中并沒有單獨提到FileSystemObject對象,千萬不要以為沒有提到就不重要,事實上FileSystemObject對象在整個FSO對象模型中無處不在;最后的TextStream對象則是用來完成對文件的讀寫操作的。
3.如何創建FSO?
要創建FSO對象可以采用兩種方法:
一種是將一個變量聲明為FSO對象類型:
Dim fsoTest As New FileSystemObject;
另一種是通過CreateObject方法創建一個FSO 對象:
Set FSO =?CreateObject(“Scripting.FileSystemObject")
在實際使用中具體采用哪種聲明方法,可根據個人的使用習慣而定。
完成了FSO對象模型的創建之后,就可以利用創建的對象模型的方法訪問下屬各個對象的屬性來獲取所需信息或進行相關操作了。
言歸正傳,下面是實例的框架分享:
Sub Test190605 Dim?FSO?As?Object?'定義FSO??Dim?FS?As?Object?'定義FS??Dim?NewBatFile?As?Object?'定義要新建的bat文件??Set?FSO?=?CreateObject("Scripting.FileSystemObject")??Set?FS?=?CreateObject("Wscript.shell")??’判斷這個bat文件是否存在????’OutPath是你要生成到的路徑??If?FSO.FileExists(OutPath & "\NewFile.bat") Then????’如果存在則刪掉它?? FSO.DeleteFile OutPath & "\NewFile.bat"??End If??Set?NewBatFile?=?FSO.OpenTextFile(OutPath?&?"\NewFile.bat",8,True)??’這個可以做一個循環來寫文件的內容??Do?While 表達式????NewBatFile.WriteLine?("要寫入的內容")? Loop??NewBatFile.Close??FS.Run OutPath & "\NewFile.bat"End Sub
