VBScript 檔案系統物件



顧名思義,FSO 物件幫助開發者處理驅動器、資料夾和檔案。在本節中,我們將討論:

物件和集合

序號 物件型別和描述
1

驅動器

驅動器是一個物件。包含允許您收集有關連線到系統的驅動器的資訊的方法和屬性。

2

驅動器列表

驅動器列表是一個集合。它提供連線到系統的驅動器列表,無論是物理的還是邏輯的。

3

檔案

檔案是一個物件。它包含允許開發者建立、刪除或移動檔案的方法和屬性。

4

檔案列表

檔案列表是一個集合。它提供資料夾中包含的所有檔案的列表。

5

資料夾

資料夾是一個物件。它提供允許開發者建立、刪除或移動資料夾的方法和屬性。

6

資料夾列表

資料夾列表是一個集合。它提供資料夾內所有資料夾的列表。

7

文字流

文字流是一個物件。它使開發人員能夠讀取和寫入文字檔案。

驅動器

驅動器是一個物件,它提供對特定磁碟驅動器或網路共享的屬性的訪問。驅動器物件支援以下屬性:

  • 可用空間
  • 驅動器號
  • 驅動器型別
  • 檔案系統
  • 空閒空間
  • 就緒狀態
  • 路徑
  • 根資料夾
  • 序列號
  • 共享名稱
  • 總大小
  • 卷標

示例

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim oFS, drive, space
         Set oFS = CreateObject("Scripting.FileSystemObject")
         Set drive = oFS.GetDrive(oFS.GetDriveName("C:\"))
         space = "Drive " & UCase(drvPath) & " - " 
         space = space & drive.VolumeName   & "  "
         space = space & "Free Space: " & FormatNumber(drive.FreeSpace/1024, 0) 
         space = space & " Kbytes"
         Document.write space

      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將在控制檯中獲得以下輸出。

Drive - Win 7 Free Space:20,154,059 Kbytes

驅動器列表

驅動器列表是一個集合,它提供連線到系統的驅動器(物理的或邏輯的)的詳細資訊。它具有兩個屬性:

  • 計數屬性
  • 專案屬性

示例

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim oFS, d, dc, s, n
         Set oFS = CreateObject("Scripting.FileSystemObject")
         Set dc = oFS.Drives
         
         For Each d in dc
            n = ""
            s = s & d.DriveLetter & " - " 
            If d.DriveType = 3 Then
               n = d.ShareName
            ElseIf d.IsReady Then
               n = d.VolumeName
            Else
               n = "Drive not available"
            End If
            s = s & n & "::"
         Next
         
         document.write s
         document.write dc.count
         
      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將在控制檯中獲得以下輸出。

C- Win 7::D-Personal ::E-Common::F-Songs::
4

檔案

檔案是一個物件,它包含允許開發人員建立、刪除或移動檔案的方法和屬性。

方法

  • 複製
  • 刪除
  • 移動
  • 以文字流方式開啟

屬性

  • 屬性
  • 建立日期
  • 上次訪問日期
  • 上次修改日期
  • 驅動器
  • 名稱
  • 父資料夾
  • 路徑
  • 短名稱
  • 短路徑
  • 大小
  • 型別

示例

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim fso, f
         Set fso = CreateObject("Scripting.FileSystemObject")
         Set f = fso.GetFile("C:\user.js")
         document.write "Line 1: "& f.DateCreated & "<br />"
         document.write "Line 2: "& f.Attributes & "<br />"
         
         document.write "Line 3: "& f.DateLastAccessed & "<br />"
         document.write "Line 4: "& f.DateLastModified & "<br />"
         
         document.write "Line 5: "& f.Drive  & "<br />"
         document.write "Line 6: "& f.Name  & "<br />"
         
         document.write "Line 7: "& f.ParentFolder & "<br />"
         document.write "Line 8: "& f.Path  & "<br />"
         
         document.write "Line 9: "& f.ShortName  & "<br />"
         document.write "Line 10: "& f.ShortPath & "<br />"
         
         document.write "Line 11: "& f.Size  & "<br />"
         document.write "Line 12: "& f.Type & "<br />"
         
         f.copy ("D:\") & "<br />"    'copying to file to another location'
         f.Move ("E:\") & "<br />"   'Move the file to another location'
         f.Delete ("D:\") & "<br />"  'Delete to file from one location'

      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將在控制檯中獲得以下輸出。

Line 1: 08/02/13 06:57:34
Line 2: 32
Line 3: 08/02/13 06:57:34
Line 4: 04/18/12 22:23:37
Line 5: C:
Line 6: user.js
Line 7: C:\
Line 8: C:\user.js
Line 9: user.js
Line 10: C:\user.js
Line 11: 474
Line 12: JScript Script File

檔案列表

檔案列表是一個集合,它提供資料夾中包含的所有檔案的列表。

屬性

  • 計數
  • 專案

示例

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim fso, f, f1, fc, s
         Set oFS = CreateObject("Scripting.FileSystemObject")
         
         'get the folder by giving its path
         Set f = oFS.GetFolder("D:\PROJECT\")
         Set fc = f.Files
         
         'Get Item
         Set s = fc.Item("sendmail.vbs")
         
         'Get Count
         x = fc.Count
         
         Document.write s
         Document.write x

      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將在控制檯中獲得以下輸出。

D:\PROJECT\sendmail.vbs
6

資料夾

資料夾是一個物件,它包含允許開發人員建立、刪除或移動資料夾的方法和屬性。

方法

  • 複製
  • 刪除
  • 移動
  • 建立文字檔案

屬性

  • 屬性
  • 建立日期
  • 上次訪問日期
  • 上次修改日期
  • 驅動器
  • 檔案列表
  • 是否根資料夾
  • 名稱
  • 父資料夾
  • 路徑
  • 短名稱
  • 短路徑
  • 大小
  • 子資料夾
  • 型別

示例

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim fso, f
         Set fso = CreateObject("Scripting.FileSystemObject")
         
         ' Enter a Folder Name that exists on your System'
         Set f = fso.GetFolder("D:\PROJECT\")
         
         ShowFileInfo = "Created: " & f.DateCreated & "<br / >"
         document.write ShowFileInfo
         
         ShowFileInfo = "attributes " & f.attributes & "<br / >"
         document.write ShowFileInfo
         
         ShowFileInfo = "Last Accessed : " &  f.DateLastAccessed & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo = "DateLastModified : " & f.DateLastModified & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "Drive : " &  f.Drive & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =   "count : " &  f.Files.count & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo = "IsRoot folder : "  &f.IsRootFolder   & "<br / >" 
         document.write ShowFileInfo

         ShowFileInfo =  "Name : " & f.Name    & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "parent folder : " & f.ParentFolder    & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "Path : " & f.Path    & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "shortname : " & f.ShortName    & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "ShortPath : "  & f.ShortPath    & "<br / >"
         document.write ShowFileInfo

         ShowFileInfo =  "File Size : " & f.Size & "<br / >"   
         document.write ShowFileInfo

         ShowFileInfo = "Type : " &  f.Type    & "<br / >"
         document.write ShowFileInfo
         
      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將在控制檯中獲得以下輸出。

Created: 22/02/2012 8:24:57 PM
attributes 16
Last Accessed : 1/08/2013 12:48:36 PM
DateLastModified : 1/08/2013 12:48:36 PM
Drive : D:
count : 6
IsRoot folder : False
Name : PROJECT
parent folder : D:\
Path : D:\PROJECT
shortname : PROJECT
ShortPath : D:\PROJECT
File Size : 8655239975
Type : File folder

資料夾列表

資料夾列表是資料夾物件內所有資料夾物件的集合。

方法

  • 新增

屬性

  • 計數
  • 專案

示例

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將建立一個名為“Test_Folder”的資料夾。

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim fso, f, fc, nf
         Set fso = CreateObject("Scripting.FileSystemObject")
         Set f = fso.GetFolder("D:\PROJECT")
         Set fc = f.SubFolders
         folderName = "Test_Folder"
         
         If folderName <> "" Then
            Set nf = fc.Add(folderName)
         Else
            Set nf = fc.Add("New Folder")
         End If
         
      </script>
   </body>
</html>

文字流

文字流物件幫助開發人員無縫地處理文字檔案。開發人員可以使用文字流物件讀取、寫入或追加文字檔案的內容。

語法

TextStream.{property  | method( )}

示例

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,我們將建立一個名為“Test_Folder”的資料夾。

<!DOCTYPE html>
<html>
   <body>
      <script language = "vbscript" type = "text/vbscript">
         Dim objFSO
         Set objFSO = CreateObject("Scripting.FileSystemObject") 
         
         Dim objTextFile 
         Set objTextFile = objFSO.CreateTextFile("D:\Testfile.txt") 
         
         objTextFile.Close
         Const ForAppending = 8
         Set objTextFile = objFSO.OpenTextFile("D:\Testfile.txt",ForAppending,True)
         
         objTextFile.WriteLine "Welcome to VBScript Programming"
         objTextFile.Close
         Set objTextFile = Nothing 
         Set objFSO = Nothing 
         
      </script>
   </body>
</html>

如果將上述指令碼儲存為 HTML 並​​在 IE 中執行,它將在 D:\ 驅動器中建立一個文字檔案,並追加WriteLine 方法中指定的字串。

Welcome to VBScript Programming
vbscript_object_oriented.htm
廣告
© . All rights reserved.