Windows下使用腳本語言操作文件系統之五-file對象

File對象

描述

提供訪問一個文件的所有屬性

方法

Copy Method | Delete Method | Move Method | OpenAsTextStream Method

屬性

Attributes Property | DateCreated Property | DateLastAccessed Property | DateLastModified Property | Drive Property | Name Property | ParentFolder Property | Path Property | ShortName Property | ShortPath Property | Size Property | Type Property

語法

使用FSO對象GetFile方法方法返回一個File對象,下面展示如何實例化一個文件:

Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
'創建c:\testfile.txt,並寫入一串字符
Set NewFile = fso.CreateTextFile("c:\testfile.txt", True)
NewFile.WriteLine("This is a test.")
NewFile.Close
'實例化testfile文件
Set MyFile = fso.GetFile("c:\testfile.txt")

file對象方法介紹

Copy 方法

描述

複製文件或文件夾

語法

object.Copy( destination[, overwrite] )

參數

object必要參數.file對象或floder對象的名稱.
destination必要參數.指定文件文件夾複製到達的位置.不允許特殊字符.
overwrite可選參數.是否覆蓋已存在的文件或文件夾,默認值爲True.
Dim fso,MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
'創建c:\testfile.txt,並寫入一串字符
Set NewFile = fso.CreateTextFile("c:\testfile.txt", True)
NewFile .WriteLine("This is a test.")
NewFile .Close
'複製c:\testfile.txt內容到c:\windows\desktop\test2.txt
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Copy ("c:\windows\desktop\test2.txt")

Delete方法

描述

刪除一個指定的文件或文件夾

語法

object.Delete(force)

參數

object必要參數.file對象或floder對象的名稱.
force可選參數.刪除只讀文件或文件夾時爲True,默認是False.
Dim fso, MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
'創建c:\testfile.txt,並寫入一串字符
Set NewFile = fso.CreateTextFile("c:\testfile.txt", True)
NewFile.WriteLine("This is a test.")
NewFile.Close
'刪除testfile文件
Set MyFile = fso.GetFile("c:\testfile.txt")
MyFile.Delete()

Move方法

描述

把一個指定的文件或文件夾從一個地方移動到另一個地方

語法

object.Move(destination)

參數

object必要參數.file對象或floder對象的名稱.
destination必要參數.移動文件文件夾到達的位置.不允許特殊字符.



Move方法與FileSystemObject.MoveFile或FileSystemObject.MoveFolder功能相同.


OpenAsTextStream方法

描述
打開一個特定文件返回一個TextStream對象,用來從文件讀取,寫入和添加信息。
語法
object.OpenAsTextStream([iomode, [format]])

參數

object必要參數.file對象的名稱.
iomode可選參數.指定I/O模式,可以是三個常量ForReading, ForWriting, 或ForAppending.
format

可選參數.三個Tristate值之一,指定打開文件的格式,省略則以ASCII方式打開.




iomode參數可以設置爲以下任何一項:

常量描述
ForReading1只讀方式打開文件,不能寫入.
ForWriting2打開文件用來寫入,如果文件重名,會覆蓋靠前的那個
ForAppending8打開文件在末尾追加.

format參數可以設置爲以下任何一項:

常量描述
TristateUseDefault-2使用系統默認方式打開文件.
TristateTrue-1使用Unicode編碼打開文件.
TristateFalse0使用ASCII編碼打開文件.

OpenAsTextStream方法提供了與 FileSystemO對象OpenTextFile方法功能相同。但OpenAsTextStream方法可用來向一個文件寫入。下面展示如何向一個文件中寫入內容:

Dim fso,MyFile
Set fso = CreateObject("Scripting.FileSystemObject")
'創建c:\testfile.txt,並寫入一串字符
Set NewFile = fso.CreateTextFile("C:\Users\web\Desktop\test.file",True)
NewFile.WriteLine("This is a test.")
NewFile.Close
'將test.file文件實例化爲一個TextStream對象,並設爲寫入模式
Set MyFile = fso.GetFile("C:\Users\web\Desktop\test.file")
Const ForWriting = 2
set objTextStream = MyFile.OpenAsTextStream(ForWriting)
'向文件中寫入"Write into a file not txt"
objTextStream.WriteLine("Write into a file not txt")
objTextStream.Close

file對象屬性介紹

AttributesProperty

描述

返回一個文件或文件夾的屬性

語法

object.Attributes [= newattributes]

返回值含義如下

Constant

描述

Normal

0

普通文件.未設置任何屬性.

ReadOnly

1

只讀文件.屬性是read/write.

Hidden

2

隱藏文件.屬性是read/write.

System

4

系統文件.屬性是read/write.

Volume

8

磁盤驅動器卷名. 屬性是read-only.

Directory

16

文件夾或目錄.屬性是read-only.

Archive

32

存檔,文件被修改過.屬性是read/write.

Alias

1024

快捷方式或鏈接.屬性是read-only.

Compressed

2048

壓縮文件.屬性是read-only.

其餘屬性:

屬性名稱描述語法
DateCreated Property返回一個文件或文件夾的創建日期,只讀屬性.object.DateCreated
DateLastAccessed Property返回一個文件或文件夾最後一次被訪問的時間.object.DateLastAccessed
DateLastModified Property

返回一個文件或文件夾最後一次被修改的時間.

object.DateLastModified

DriveProperty

返回一個文件或文件夾所在驅動器的字符.object.Drive

Name Property


修改或返回指定文件或文件夾的名稱.object.Name [= newname]

ParentFolder Property

找到指定文件或文件夾的父份文件夾,並返回一個Folder對象.object.ParentFolder

Path Property

返回指定文件、文件夾或驅動器的路徑.


object.Path

ShortName Property

返回一個短文件名稱用於方便編程.object.ShortName

ShortPath Property

返回一個短路徑名稱用於方便編程.object.ShortPath

Size Property

返回文件大小,單位字節.object.Size

Type Property

返回文件類型.object.Type

下面通過實例展示各個屬性:

Dim fso,file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Users\web\Desktop\Red_Hat_Enterprise_Linux-6-Deployment_Guide-en-US.pdf")
str ="File Attributes: "&file.Attributes&vbcrlf
str =str&"File Created Date: "&file.DateCreated&vbcrlf
str =str&"File LastAccessed Date: "&file.DateLastAccessed&vbcrlf
str =str&"File LastModified Date: "&file.DateLastModified&vbcrlf
str =str&"File Name: "&file.Name&vbcrlf
str =str&"File ShortName: "&file.ShortName&vbcrlf
str =str&"File Drive: "&file.Drive&vbcrlf
str =str&"File ParentFolder : "&file.ParentFolder &vbcrlf
str =str&"File Path: "&file.Path&vbcrlf
str =str&"File ShortPath: "&file.ShortPath&vbcrlf
str =str&"File Size: "&file.Size/(1024^2)&"MB"&vbcrlf
str =str&"File Type: "&file.Type&vbcrlf
Msgbox str

返回

Attributes屬性的值疊加的,假設一個系統文件屬性是隻讀且隱藏,那麼文件的屬性值應該是:4(systemfile)+1(Read-only)+2(Hidden)=7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章