This section provides a tutorial example on how to use the Drive class that represents a disk drive of a file system. Drive class is provided in the Scripting Runtime DLL, scrrun.dll.
"Drive": A class representing a disk drive of the file system. It offers the following
methods and properties:
"DriveLetter": Property to return the drive letter.
"DriveType": Property to return the drive type, 0 for unknown, 1 for removable,
2 for fixed, 3 for network, 4 for CD-ROM, and 5 for RAM disk.
"FileSystem": Property to return the file organization type of the drive.
"IsReady": Property to return the status of the drive.
"Path": Property to return the path name of the drive.
"SerialNumber": Property to return the serial number of the drive.
"ShareName": Property to return the share name of the drive.
"VolumeName" Property to return the volume name of the drive.
"TotalSize": Property to return the total space in units of byte.
"AvailableSpace": Property to return the free space on the drive in units of byte.
"FreeSpace": Property to return the free space on the drive in units of byte.
What's the difference between FreeSpace and AvailableSpace?
"RootFolder": Property to return a "Folder" object representing the root directory
of the drive.
Here is a sample ASP page to show the above properties:
<script language="vbscript" runat="server">
' drive_test.asp
' Copyright (c) 1999 by Dr. Herong Yang
' This program shows how to use the Drive class.
'
response.write("<html><body>")
response.write("<b>Tests on the Drive class</b>:<br/>")
' Creating a FileSystemObject object
set fs = CreateObject("Scripting.FileSystemObject")
set ds = fs.Drives
response.write("List of drives:<br/>")
' Display all drives and their properties
for each d in ds
response.write("Drive Letter = " & d.DriveLetter & "<br/>")
response.write("Drive Type = " & d.DriveType & "<br/>")
response.write("Is Ready = " & d.IsReady & "<br/>")
response.write("Path = " & d.Path & "<br/>")
response.write("Share Name = " & d.ShareName & "<br/>")
if d.IsReady then
response.write("File System = " & d.FileSystem & "<br/>")
response.write("Serial Number = " & d.SerialNumber & "<br/>")
response.write("Volume Name = " & d.VolumeName & "<br/>")
response.write("Total Size = " & d.TotalSize & "<br/>")
response.write("Free Space = " & d.FreeSpace & "<br/>")
end if
next
response.write("</body></html>")
</script>
Output:
Tests on the Drive class:
List of drives:
Drive Letter = C
Drive Type = 2
Is Ready = True
Path = C:
Share Name =
File System = NTFS
Serial Number = 1545214583
Volume Name = New Volume
Total Size = 9697603584
Free Space = 4838227968
Drive Letter = D
Drive Type = 4
Is Ready = False
Path = D:
Share Name =
Note that:
Drive "D:" is my CD-ROM, which is not ready.
"fs.Drives" is not really returning an array. It is returning a kind of collection object.
I will find it out later.