VBScript FileSystem Objects


Advertisements

As the name suggests, FSO Objects help the developers to work with drives, folders and files. In this section, we will discuss −

Objects and Collections

Sr.No. Object Type & Description
1

Drive

Drive is an Object. Contains methods and properties that allow you to gather information about a drive attached to the system

2

Drives

Drives is a Collection. It Provides a list of the drives attached to the system, either physically or logically.

3

File

File is an Object. It Contains methods and properties that allow developers to create, delete or move a file.

4

Files

Files is a Collection. It Provides a list of all files contained within a folder.

5

Folder

Folder is an Object. It Provides methods and properties that allow developers to create, delete or move folders.

6

Folders

Folders is a Collection. It Provides a list of all the folders within a Folder.

7

TextStream

TextStream is an Object. It enables developers to read and write text files.

Drive

Drive is an object, which provides access to the properties of a particular disk drive or network share. The Following properties are supported by Drive object −

  • AvailableSpace
  • DriveLetter
  • DriveType
  • FileSystem
  • FreeSpace
  • IsReady
  • Path
  • RootFolder
  • SerialNumber
  • ShareName
  • TotalSize
  • VolumeName

Example

<!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>

If the above script is saved as HTML and executed in IE, we would get the following output in the console.

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

Drives

Drives is a collection, which provides details of all the drives attached to the system, either physically or logically. It carries two properties −

  • Count Property
  • Item Property

Example

<!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>

If the above script is saved as HTML and executed in IE, we would get the following output in the console.

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

File

File is an Object, which contains both properties and methods that allow the developers to create, delete or move a file.

Methods

  • Copy
  • Delete
  • Move
  • openasTextStream

Properties

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

Example

<!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>

If the above script is saved as HTML and executed in IE, we would get the following output in the console.

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

Files

Files is a collection, which provides a list of all files contained within a folder.

Properties

  • Count
  • Item

Example

<!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>

If the above script is saved as HTML and executed in IE, we would get the following output in the console.

D:\PROJECT\sendmail.vbs
6

Folder

Folder is an Object, which contains both properties and methods that allow the developers to create, delete or move a folder.

Methods

  • Copy
  • Delete
  • Move
  • CreateTextFile

Properties

  • Attributes
  • DateCreated
  • DateLastAccessed
  • DateLastModified
  • Drive
  • Files
  • IsRootFolder
  • Name
  • ParentFolder
  • Path
  • ShortName
  • ShortPath
  • Size
  • SubFolders
  • Type

Example

<!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>

If the above script is saved as HTML and executed in IE, we would get the following output in the console.

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

Folders

Folders is an collection of all Folder Objects within a Folder object.

Methods

  • Add

Properties

  • Count
  • Item

Example

If the above script is saved as HTML and executed in IE, we would create a folder with name "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

TextStream object helps the developers to work with text files seamlessly. Developers can read, write or append the contents to the text file using the text stream object.

Syntax

TextStream.{property  | method( )}

Example

If the above script is saved as HTML and executed in IE, we would create a folder with name "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>

If the above script is saved as HTML and executed in IE, it will create a text file in D:\ Drive and append the string specified in the WriteLine Method.

Welcome to VBScript Programming
vbscript_object_oriented.htm
Advertisements