主頁 > 知識庫 > FileSystemObject 示例代碼

FileSystemObject 示例代碼

熱門標(biāo)簽:龍族幻想白銀異聞天使地圖標(biāo)注 百度地圖標(biāo)注的位置怎么更改 聯(lián)通能辦理400電話是多少錢 菏澤電銷機器人管理軟件 琿春電子地圖標(biāo)注 福建醫(yī)療智能外呼系統(tǒng)哪家好 地圖標(biāo)注都什么意思 鴿森地圖標(biāo)注 福建外呼系統(tǒng)購買
在本節(jié)描述的示例代碼,提供真實的例子來示范在 FileSystemObject 對象模式中可用的許多功能。該代碼顯示了如何一起使用對象模式的所有功能,以及如何在您自己的代碼中有效地使用這些功能。

  請注意,由于該代碼是極一般的,所以要使該代碼能夠真正在您的機器上運行,可能需要一些其他代碼和小小的變更。這些改變之所以必要,是因為在 Active Server Pages 和 Windows Scripting Host 之間,為輸入和輸出給用戶采用了不同的方法。

  要在 Active Server Pages 上運行該代碼,則采取以下步驟:

  創(chuàng)建一個標(biāo)準(zhǔn)的 Web 頁,后綴名為 .asp。 

  把下面的示例代碼復(fù)制到 ltBODY>.../BODY> 標(biāo)記之間的文件中。 

  把所有代碼包裝器到 %...%> 標(biāo)記內(nèi)。 

  把 Option Explicit 語句從當(dāng)前位置移動到 HTML 頁的最頂部,甚至在 HTML> 開始標(biāo)記前。 

  把 %...%> 標(biāo)記放置在 Option Explicit 語句周圍,以保證它在服務(wù)器端運行。 

  把下面的代碼添加到示例代碼末尾: 

Sub Print(x)
Response.Write "PRE>ltFONT FACE=""宋體"" SIZE=""1"">"
Response.Write x
Response.Write "/FONT>/PRE>"
End Sub
Main 
  前面的代碼增加一個將在服務(wù)器端運行,但在客戶端顯示結(jié)果的打印過程。要在 Windows Scripting Host 上運行該代碼,則把下面的代碼添加到示例代碼的末尾: 
Sub Print(x)
WScript.Echo x
End Sub
Main
下面就是示例代碼:

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' FileSystemObject 示例代碼
'Copyright 1998 Microsoft Corporation。 保留所有權(quán)利。 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''OptionExplicit''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''
' 對于代碼質(zhì)量:
' 1) 下面的代碼有許多字符串操作,用""運算符來把短字符串連接在一起。由于
' 字符串連接是費時的,所以這是一種低效率的寫代碼方法。無論如何,它是
' 一種非常好維護的寫代碼方法,并且在這兒使用了這種方法,因為該程序執(zhí)行
' 大量的磁盤操作,而磁盤操作比連接字符串所需的內(nèi)存操作要慢得多。
' 記住這是示范代碼,而不是產(chǎn)品代碼。
'
' 2) 使用了 "Option Explicit",因為訪問聲明過的變量,比訪問未聲明的變量要
' 稍微快一些。它還能阻止在代碼中發(fā)生錯誤,例如,把 DriveTypeCDROM 誤拼
' 成了 DriveTypeCDORM 。
'
' 3) 為了使代碼更可讀,該代碼中沒有錯誤處理。雖然采取了防范措施,來保證代碼
' 在普通情況下沒有錯誤,但文件系統(tǒng)是不可預(yù)知的。在產(chǎn)品代碼中,使用
' On Error Resume Next 和 Err 對象來捕獲可能發(fā)生的錯誤。
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 一些容易取得的全局變量
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim TabStop
Dim NewLineConst TestDrive = "C"
Const TestFilePath = "C:\Test"'''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''
' 由 Drive.DriveType 返回的常數(shù)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const DriveTypeRemovable = 1
Const DriveTypeFixed = 2
Const DriveTypeNetwork = 3
Const DriveTypeCDROM = 4
Const DriveTypeRAMDisk = 5''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''
' 由 File.Attributes 返回的常數(shù)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const FileAttrNormal = 0
Const FileAttrReadOnly = 1
Const FileAttrHidden = 2
Const FileAttrSystem = 4
Const FileAttrVolume = 8
Const FileAttrDirectory = 16
Const FileAttrArchive = 32 
Const FileAttrAlias = 64
Const FileAttrCompressed = 128''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''
' 用來打開文件的常數(shù)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Const OpenFileForReading = 1 
Const OpenFileForWriting = 2 
Const OpenFileForAppending = 8 '''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''
' ShowDriveType
' 目的: 
' 生成一個字符串,來描述給定 Drive 對象的驅(qū)動器類型。
' 示范下面的內(nèi)容
' - Drive.DriveType
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function ShowDriveType(Drive) Dim S

Select Case Drive.DriveType
Case DriveTypeRemovable
S = "Removable"
Case DriveTypeFixed
S = "Fixed"
Case DriveTypeNetwork
S = "Network"
Case DriveTypeCDROM
S = "CD-ROM"
Case DriveTypeRAMDisk
S = "RAM Disk"
Case Else
S = "Unknown"
End Select ShowDriveType = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''

' ShowFileAttr
' 目的: 
' 生成一個字符串,來描述文件或文件夾的屬性。
' 示范下面的內(nèi)容
' - File.Attributes
' - Folder.Attributes
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''Function ShowFileAttr(File) ' File 可以是文件或文件夾 Dim S
Dim Attr

Attr = File.Attributes If Attr = 0 Then
ShowFileAttr = "Normal"
Exit Function
End If If Attr And FileAttrDirectory Then S = S  "Directory "
If Attr And FileAttrReadOnly Then S = S  "Read-Only "
If Attr And FileAttrHidden Then S = S  "Hidden "
If Attr And FileAttrSystem Then S = S  "System "
If Attr And FileAttrVolume Then S = S  "Volume "
If Attr And FileAttrArchive Then S = S  "Archive "
If Attr And FileAttrAlias Then S = S  "Alias "
If Attr And FileAttrCompressed Then S = S  "Compressed " ShowFileAttr = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''
' GenerateDriveInformation
' 目的: 
' 生成一個字符串,來描述可用驅(qū)動器的當(dāng)前狀態(tài)。
' 示范下面的內(nèi)容
' - FileSystemObject.Drives 
' - Iterating the Drives collection
' - Drives.Count
' - Drive.AvailableSpace
' - Drive.DriveLetter
' - Drive.DriveType
' - Drive.FileSystem
' - Drive.FreeSpace
' - Drive.IsReady
' - Drive.Path
' - Drive.SerialNumber
' - Drive.ShareName
' - Drive.TotalSize
' - Drive.VolumeName
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''Function GenerateDriveInformation(FSO) Dim Drives
Dim Drive
Dim S Set Drives = FSO.Drives
S = "Number of drives:"  TabStop  Drives.Count  NewLine  NewLine ' 構(gòu)造報告的第一行。
S = S  String(2, TabStop)  "Drive" 
S = S  String(3, TabStop)  "File" 
S = S  TabStop  "Total"
S = S  TabStop  "Free"
S = S  TabStop  "Available" 
S = S  TabStop  "Serial"  NewLine ' 構(gòu)造報告的第二行。
S = S  "Letter"
S = S  TabStop  "Path"
S = S  TabStop  "Type"
S = S  TabStop  "Ready?"
S = S  TabStop  "Name"
S = S  TabStop  "System"
S = S  TabStop  "Space"
S = S  TabStop  "Space"
S = S  TabStop  "Space"
S = S  TabStop  "Number"  NewLine ' 分隔行。
S = S  String(105, "-")  NewLine For Each Drive In Drives
S = S  Drive.DriveLetter
S = S  TabStop  Drive.Path
S = S  TabStop  ShowDriveType(Drive)
S = S  TabStop  Drive.IsReady If Drive.IsReady Then
If DriveTypeNetwork = Drive.DriveType Then
S = S  TabStop  Drive.ShareName 
Else
S = S  TabStop  Drive.VolumeName 
End If 
S = S  TabStop  Drive.FileSystem
S = S  TabStop  Drive.TotalSize
S = S  TabStop  Drive.FreeSpace
S = S  TabStop  Drive.AvailableSpace
S = S  TabStop  Hex(Drive.SerialNumber)
End If S = S  NewLine Next GenerateDriveInformation = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''

' GenerateFileInformation
' 目的: 
' 生成一個字符串,來描述文件的當(dāng)前狀態(tài)。
' 示范下面的內(nèi)容
' - File.Path
' - File.Name
' - File.Type
' - File.DateCreated
' - File.DateLastAccessed
' - File.DateLastModified
' - File.Size
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''Function GenerateFileInformation(File) Dim S S = NewLine  "Path:"  TabStop  File.Path
S = S  NewLine  "Name:"  TabStop  File.Name
S = S  NewLine  "Type:"  TabStop  File.Type
S = S  NewLine  "Attribs:"  TabStop  ShowFileAttr(File)
S = S  NewLine  "Created:"  TabStop  File.DateCreated
S = S  NewLine  "Accessed:"  TabStop  File.DateLastAccessed
S = S  NewLine  "Modified:"  TabStop  File.DateLastModified
S = S  NewLine  "Size"  TabStop  File.Size  NewLine GenerateFileInformation = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateFolderInformation
' 目的: 
' 生成一個字符串,來描述文件夾的當(dāng)前狀態(tài)。
' 示范下面的內(nèi)容
' - Folder.Path
' - Folder.Name
' - Folder.DateCreated
' - Folder.DateLastAccessed
' - Folder.DateLastModified
' - Folder.Size
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Function GenerateFolderInformation(Folder) Dim S S = "Path:"  TabStop  Folder.Path
S = S  NewLine  "Name:"  TabStop  Folder.Name
S = S  NewLine  "Attribs:"  TabStop  ShowFileAttr(Folder)
S = S  NewLine  "Created:"  TabStop  Folder.DateCreated
S = S  NewLine  "Accessed:"  TabStop  Folder.DateLastAccessed
S = S  NewLine  "Modified:"  TabStop  Folder.DateLastModified
S = S  NewLine  "Size:"  TabStop  Folder.Size  NewLine GenerateFolderInformation = SEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GenerateAllFolderInformation
' 目的: 
' 生成一個字符串,來描述一個文件夾和所有文件及子文件夾的當(dāng)前狀態(tài)。
' 示范下面的內(nèi)容
' - Folder.Path
' - Folder.SubFolders
' - Folders.Count
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Function GenerateAllFolderInformation(Folder) Dim S
Dim SubFolders
Dim SubFolder
Dim Files
Dim File S = "Folder:"  TabStop  Folder.Path  NewLine  NewLine
Set Files = Folder.Files If 1 = Files.Count Then
S = S  "There is 1 file"  NewLine
Else
S = S  "There are "  Files.Count  " files"  NewLine
End If If Files.Count > 0 Then
For Each File In Files
S = S  GenerateFileInformation(File)
Next
End If Set SubFolders = Folder.SubFolders If 1 = SubFolders.Count Then
S = S  NewLine  "There is 1 sub folder"  NewLine  NewLine
Else
S = S  NewLine  "There are "  SubFolders.Count  " sub folders"  NewLine  NewLine
End If If SubFolders.Count > 0 Then
For Each SubFolder In SubFolders
S = S  GenerateFolderInformation(SubFolder)
Next
S = S  NewLine
For Each SubFolder In SubFolders
S = S  GenerateAllFolderInformation(SubFolder)
Next
End If GenerateAllFolderInformation = SEnd Function'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''
' GenerateTestInformation
' 目的: 
' 生成一個字符串,來描述 C:\Test 文件夾和所有文件及子文件夾的當(dāng)前狀態(tài)。
' 示范下面的內(nèi)容
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.GetFolder
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''Function GenerateTestInformation(FSO) Dim TestFolder
Dim S If Not FSO.DriveExists(TestDrive) Then Exit Function
If Not FSO.FolderExists(TestFilePath) Then Exit Function Set TestFolder = FSO.GetFolder(TestFilePath) GenerateTestInformation = GenerateAllFolderInformation(TestFolder) End Function'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''
' DeleteTestDirectory
' 目的: 
' 清理 test 目錄。
' 示范下面的內(nèi)容
' - FileSystemObject.GetFolder
' - FileSystemObject.DeleteFile
' - FileSystemObject.DeleteFolder
' - Folder.Delete
' - File.Delete
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''Sub DeleteTestDirectory(FSO) Dim TestFolder
Dim SubFolder
Dim File

' 有兩種方法可用來刪除文件: FSO.DeleteFile(TestFilePath  "\Beatles\OctopusGarden.txt") Set File = FSO.GetFile(TestFilePath  "\Beatles\BathroomWindow.txt")
File.Delete ' 有兩種方法可用來刪除文件夾:
FSO.DeleteFolder(TestFilePath  "\Beatles")
FSO.DeleteFile(TestFilePath  "\ReadMe.txt")
Set TestFolder = FSO.GetFolder(TestFilePath)
TestFolder.DeleteEnd Sub'''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''
' CreateLyrics
' 目的: 
' 在文件夾中創(chuàng)建兩個文本文件。
' 示范下面的內(nèi)容
' - FileSystemObject.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Write
' - TextStream.WriteBlankLines
' - TextStream.Close
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''Sub CreateLyrics(Folder) Dim TextStream

Set TextStream = Folder.CreateTextFile("OctopusGarden.txt")

TextStream.Write("Octopus' Garden ") ' 請注意,該語句不添加換行到文件中。
TextStream.WriteLine("(by Ringo Starr)")
TextStream.WriteBlankLines(1)
TextStream.WriteLine("I'd like to be under the sea in an octopus' garden in the shade,")
TextStream.WriteLine("He'd let us in, knows where we've been -- in his octopus' garden in the shade.")
TextStream.WriteBlankLines(2)

TextStream.Close Set TextStream = Folder.CreateTextFile("BathroomWindow.txt")
TextStream.WriteLine("She Came In Through The Bathroom Window (by Lennon/McCartney)")
TextStream.WriteLine("")
TextStream.WriteLine("She came in through the bathroom window protected by a silver spoon")
TextStream.WriteLine("But now she sucks her thumb and wanders by the banks of her own lagoon")
TextStream.WriteBlankLines(2)
TextStream.CloseEnd Sub''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' GetLyrics
' 目的: 
' 顯示 lyrics 文件的內(nèi)容。
' 示范下面的內(nèi)容
' - FileSystemObject.OpenTextFile
' - FileSystemObject.GetFile
' - TextStream.ReadAll
' - TextStream.Close
' - File.OpenAsTextStream
' - TextStream.AtEndOfStream
' - TextStream.ReadLine
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''Function GetLyrics(FSO) Dim TextStream
Dim S
Dim File ' 有多種方法可用來打開一個文本文件,和多種方法來從文件讀取數(shù)據(jù)。
' 這兒用了兩種方法來打開文件和讀取文件: Set TextStream = FSO.OpenTextFile(TestFilePath  "\Beatles\OctopusGarden.txt", OpenFileForReading)

S = TextStream.ReadAll  NewLine  NewLine
TextStream.Close Set File = FSO.GetFile(TestFilePath  "\Beatles\BathroomWindow.txt")
Set TextStream = File.OpenAsTextStream(OpenFileForReading)
Do While Not TextStream.AtEndOfStream
S = S  TextStream.ReadLine  NewLine
Loop
TextStream.Close GetLyrics = S

End Function'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''
' BuildTestDirectory
' 目的: 
' 創(chuàng)建一個目錄分層結(jié)構(gòu)來示范 FileSystemObject。
' 以這樣的次序來創(chuàng)建分層結(jié)構(gòu):
' C:\Test
' C:\Test\ReadMe.txt
' C:\Test\Beatles
' C:\Test\Beatles\OctopusGarden.txt
' C:\Test\Beatles\BathroomWindow.txt
' 示范下面的內(nèi)容
' - FileSystemObject.DriveExists
' - FileSystemObject.FolderExists
' - FileSystemObject.CreateFolder
' - FileSystemObject.CreateTextFile
' - Folders.Add
' - Folder.CreateTextFile
' - TextStream.WriteLine
' - TextStream.Close
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''Function BuildTestDirectory(FSO) Dim TestFolder
Dim SubFolders
Dim SubFolder
Dim TextStream
' 排除(a)驅(qū)動器不存在,或(b)要創(chuàng)建的目錄已經(jīng)存在的情況。 If Not FSO.DriveExists(TestDrive) Then
BuildTestDirectory = False
Exit Function
End If If FSO.FolderExists(TestFilePath) Then
BuildTestDirectory = False
Exit Function
End If Set TestFolder = FSO.CreateFolder(TestFilePath) Set TextStream = FSO.CreateTextFile(TestFilePath  "\ReadMe.txt")
TextStream.WriteLine("My song lyrics collection")
TextStream.Close Set SubFolders = TestFolder.SubFolders
Set SubFolder = SubFolders.Add("Beatles")
CreateLyrics SubFolder 
BuildTestDirectory = TrueEnd Function''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''
' 主程序
' 首先,它創(chuàng)建一個 test 目錄,以及一些子文件夾和文件。 
' 然后,它轉(zhuǎn)儲有關(guān)可用磁盤驅(qū)動器和 test 目錄的某些信息,
' 最后,清除 test 目錄及其所有內(nèi)容。
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''Sub Main Dim FSO ' 設(shè)立全局變量。
TabStop = Chr(9)
NewLine = Chr(10)

Set FSO = CreateObject("Scripting.FileSystemObject") If Not BuildTestDirectory(FSO) Then 
Print "Test directory already exists or cannot be created. Cannot continue."
Exit Sub
End If Print GenerateDriveInformation(FSO)  NewLine  NewLine
Print GenerateTestInformation(FSO)  NewLine  NewLine
Print GetLyrics(FSO)  NewLine  NewLine
DeleteTestDirectory(FSO)End Sub
您可能感興趣的文章:
  • JavaScript使用FileSystemObject對象寫入文本文件內(nèi)容的方法
  • 三種禁用FileSystemObject組件的方法
  • FileSystemObject 對象
  • JavaScript調(diào)用ajax獲取文本文件內(nèi)容實現(xiàn)代碼
  • JavaScript使用ActiveXObject訪問Access和SQL Server數(shù)據(jù)庫
  • 使用JavaScript的ActiveXObject對象檢測應(yīng)用程序是否安裝的方法
  • JavaScript中使用ActiveXObject操作本地文件夾的方法
  • javascript下用ActiveXObject控件替換word書簽,將內(nèi)容導(dǎo)出到word后打印
  • JS基于FileSystemObject創(chuàng)建一個指定路徑的TXT文本文件

標(biāo)簽:資質(zhì)掛靠 達州 鶴壁 內(nèi)蒙古 丹東 南京 柳州 張掖

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《FileSystemObject 示例代碼》,本文關(guān)鍵詞  FileSystemObject,示例,代碼,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《FileSystemObject 示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于FileSystemObject 示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章