VBScript FileSystem Objects

Advertisements


What are FSO Objects?

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 :

Object TypeDescription
DriveDrive is an Object. Contains methods and properties that allow you to gather information about a drive attached to the system
DrivesDrives is a Collection. It Provides a list of the drives attached to the system, either physically or logically.
FileFile is an Object. It Contains methods and properties that allow developers to create, delete or move a file.
FilesFiles is a Collection. It Provides a list of all files contained within a folder.
FolderFolder is an Object. It Provides methods and properties that allow developers to create, delete or move folders.
FoldersFolders is a Collection. It Provides a list of all the folders within a Folder.
TextStreamTextStream 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 properoties:

  • 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


Advertisements
Advertisements