編程|進階 5.4.1 FileSystemObject對象成員概要
FileSystemObject對象提供一個屬性和一系列方法,可用它們來操縱FileSystemObject對象實現的一些從屬對象。這裡提供了全部的內容概要,然後介紹每一個從屬對象。
1. FileSystemObject的屬性
FileSystemObject對象只有一個屬性,它用於得到當前機器上的所有有效磁碟機的列表,如表5-4所示:
表5-4 FileSystemObject對象的屬性及說明
屬 性
說 明
Drivers
返回本機電腦可用的磁碟機列表。
2. FileSystemObject的方法
FileSystemObject對象提供了使用從屬對象的一系列方法,從屬對象包括Drive、Folder和File等對象。它也實現了用於TextStream對象的兩個方法:CreateTextFile和OpenTextFile。根據所使用的對象的類型,將方法劃分為三類。
(1) 與磁碟機有關的方法
與磁碟機有關的方法如表5-5所示:
表5-5 與磁碟機有關的方法及說明
方 法
說 明
DriveExists(drivespec)
如果在drivespec中指定的磁碟機存在,則返回True,否則返回False。drivespec參數可以是一個磁碟機字母,或者是檔案、檔案夾的完整絕對路徑
GetDrive(drivespec)
返回drivespec指定的磁碟機所對應的Drive對象。drivespec可以包含冒號、路徑分隔字元或者是網際網路共用名,即:“C”、“C:”、“C:\”及“\\machine\sharename”
GetDriveName(drivespec)
用字串返回drivespec指定的磁碟機的名稱。drivespec參數必須是檔案或檔案夾的絕對路徑,或者僅僅是磁碟機字母,例如:“c:”或“c”
(2) 與檔案夾有關的方法
與檔案夾有關的方法如表5-6所示:
表5-6 與檔案夾有關的方法及說明
方 法
說 明
BuildPath(path,name)
在已有的路徑path上增添名字為name的檔案或檔案夾,如果需要,則增添路徑分隔字元’\’
CopyFolder(source,destination,overwrite)
從指定的源檔案夾source(可以包含萬用字元)中複製一個或多個檔案夾到指定的目標檔案夾destination,包含了源檔案夾中的所有檔案。如果source包含萬用字元或destination末尾是路徑分隔字元(‘\’),那麼認為destination是要放置源檔案夾的拷貝的檔案夾。否則的話,認為destination是要建立的新檔案夾的路徑名。如果destination檔案夾已經存在且overwrite參數設定為False,將產生錯誤,預設的overwrite參數是True
CreateFolder(foldername)
建立一個路徑名為foldername的檔案夾。如果foldername已經存在將產生錯誤
DeleteFolder(folderspec,force)
刪除由folderspec指定的一個或多個檔案夾(可以在路徑的最後部分包含通過配符)及檔案夾中的所有內容。如果可選的force參數設定為true,那麼即使檔案夾包含的檔案具有唯讀屬性,也將刪除該檔案夾。預設的force參數是False
FolderExist(folderspec)
如果folderspec指定的檔案夾存在則返回True,否則返回False。folderspec參數可以包含檔案夾的絕對或相對路徑,或者僅僅是當前檔案夾中看到的檔案夾名
GetAbsolutePathName(pathspec)
返回明確指定檔案夾的路徑,其中要考慮到當前檔案夾的路徑。例如,如果當前檔案夾是“c:\docs\sales\”,而pathspec是“jan”,返回的字元是“c:\docs\sales\jan”。萬用字元、”..”和”\\”路徑操作符都是可以接受的
GetFolder(folderspec)
返回folderspec指定的檔案夾對應的Folder對象。folderspec可以是檔案夾的相對的或絕對的路徑
GetParentFolderName(pathspec)
返回pathspec檔案或檔案夾的上一級檔案夾。不檢驗該檔案夾是否存在
GetSpecialfolder(folderspec)
返回一個特定的Windows檔案夾相對應的Folder對象。參數folderspec的允許值是WindowsFolder(0)、SystemFolder(1)和TemporaryFolder(2)
MoveFolder(source,destination)
將source指定的一個或多個檔案夾移動到destination指定的檔案夾。在source裡可以包含萬用字元,但在destination中不行。如果source包含萬用字元或destination末尾是路徑分隔字元(‘\’),則認為destination是要放置源檔案夾的檔案夾,否則認為它是一個新檔案夾的完整路徑和名字。如果目的檔案夾destination已經存在則產生錯誤
(3) 與檔案有關的方法
與檔案有關的方法如表5-7所示:
方 法
說 明
CopyFile(source,destination,
overwrite)
將source(可包含萬用字元)指定的一個或多個檔案複製到指定的目標檔案夾destination。如果source包含萬用字元或destination末尾是路徑分隔字元(‘\’),那麼認為destination是檔案夾。否則認為destination為一新檔案的完全路徑和名稱。如果目標檔案夾已經存在且overwrite參數設定為False,將產生錯誤。預設的overwrite參數是True
CreateTextFile(filename,overwrite,
unicode)
用指定的檔案名稱filename在磁碟上建立一個新的文字檔,並返回與其對應的TextStream對象,如果可選的overwrite參數設定為True,則覆蓋同一路徑下已有的同名檔案。預設的overwrite參數是False。如果可選的unicode參數設定為True,則該檔案的內容將儲存為Unicode文本,預設的unicode參數是False
DeleFile(filespec,force)
刪除由filespec指定的一個或多個檔案(可以在路徑的最後部分包含萬用字元)。如果可選的force參數設定為true,那麼也刪除具有唯讀屬性的檔案。預設的force參數是False
FileExists(filespec)
如果filespec指定的檔案存在則返回True,否則返回False。filespec參數可以包含檔案的絕對路徑或相對路徑,或者是當前檔案夾中的檔案名稱
GetBaseName(filespec)
返回filespec指定的檔案的名稱,即包含檔案路徑但去掉了檔案的副檔名
GetExtensionName(filespec)
返回filespec指定的檔案的副檔名
GetFile(filespec)
返回filespec指定的檔案所對應的File對象。可以指定檔案的相對或絕對路徑
GetFileName(pathspec)
返回pathspec指定的檔案的路徑或檔案名稱,如果沒有檔案名稱就返回最後的檔案夾名。不檢查該檔案或檔案夾是否存在
GetTempName()
返回一個隨機產生的檔案名稱,用於完成運算所需的臨時檔案或檔案夾
MoveFile(source,destination)
將source指定的