VBScript DriveLetter Property
last modified April 9, 2025
The DriveLetter property in VBScript is part of the
FileSystemObject and Drive objects. It returns the
drive letter of a specified drive. This property is read-only and provides
a simple way to identify drives in scripts. It's commonly used in file system
operations and drive management.
DriveLetter returns a single uppercase character (A-Z) followed by
a colon. For network drives, it returns the mapped drive letter. This tutorial
covers DriveLetter with practical examples to demonstrate its usage
in various scenarios.
DriveLetter Property Overview
The DriveLetter property is available on Drive objects
returned by the FileSystemObject. It provides the letter assigned
to a physical or logical drive. The property is useful for drive identification
and path construction.
Key features include consistent uppercase letter format and colon suffix. It works with all drive types (fixed, removable, network). Understanding this property helps create robust drive handling scripts. The property is read-only and cannot be modified.
Basic Drive Letter Retrieval
This example demonstrates the simplest use of DriveLetter to get
the letter of the current drive. It shows how to access the property through
a Drive object. The script displays the drive letter of the
current working directory.
Set fso = CreateObject("Scripting.FileSystemObject")
Set currentDrive = fso.GetDrive(fso.GetDriveName(fso.GetAbsolutePathName(".")))
WScript.Echo "Current drive letter: " & currentDrive.DriveLetter
Set currentDrive = Nothing
Set fso = Nothing
The script creates a FileSystemObject and gets the current drive.
It then accesses the DriveLetter property. The output shows the
drive letter (e.g., "C:") where the script is running. All objects are properly
cleaned up at the end.
Listing All Drive Letters
This example shows how to retrieve drive letters for all available drives on
a system. It demonstrates iterating through the Drives collection.
Each drive's letter is displayed along with its drive type.
Set fso = CreateObject("Scripting.FileSystemObject")
Set drives = fso.Drives
For Each drive In drives
WScript.Echo "Drive: " & drive.DriveLetter & " - Type: " & drive.DriveType
Next
Set drives = Nothing
Set fso = Nothing
The script enumerates all drives using the Drives collection. For
each drive, it displays the letter and type. The output might show "C: - Type: 2"
for a fixed drive. Network drives appear with their mapped letters.
Checking Specific Drive Availability
This example uses DriveLetter to check if a specific drive exists.
It demonstrates practical error handling when accessing drives. The script tries
to access drive D: and reports its availability.
On Error Resume Next
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("D:")
If Err.Number = 0 Then
WScript.Echo "Drive " & drive.DriveLetter & " is available"
Else
WScript.Echo "Drive D: is not available"
Err.Clear
End If
On Error GoTo 0
Set drive = Nothing
Set fso = Nothing
The script attempts to access drive D: and checks for errors. If successful, it displays the drive letter. Error handling prevents script termination if the drive doesn't exist. This pattern is useful for robust drive detection.
Network Drive Letter Verification
This example demonstrates DriveLetter with network drives. It shows
how mapped network drives appear in the system. The script identifies network
drives among all available drives.
Set fso = CreateObject("Scripting.FileSystemObject")
Set drives = fso.Drives
For Each drive In drives
If drive.DriveType = 3 Then ' Network drive
WScript.Echo "Network drive found: " & drive.DriveLetter
End If
Next
Set drives = Nothing
Set fso = Nothing
The script checks each drive's type and reports network drives (type 3). For each network drive found, it displays the mapped letter. This helps identify available network resources in scripts. The output might show "Network drive found: Z:".
Building Paths with Drive Letters
This example combines DriveLetter with path construction. It shows
how to use drive letters to build complete file paths. The script demonstrates
dynamic path creation based on available drives.
Set fso = CreateObject("Scripting.FileSystemObject")
Set drive = fso.GetDrive("C:")
If Not drive Is Nothing Then
filePath = fso.BuildPath(drive.DriveLetter & "\", "Windows\System32")
WScript.Echo "System directory: " & filePath
End If
Set drive = Nothing
Set fso = Nothing
The script gets the C: drive and constructs a path to the System32 directory.
It uses DriveLetter to ensure proper path formatting. The output
shows "System directory: C:\Windows\System32". This technique is useful for
dynamic path construction.
Source
In this article, we have explored the DriveLetter property in
VBScript, covering its usage and practical applications. From basic drive
identification to network drive detection, these examples demonstrate reliable
drive management. With this knowledge, you can enhance your scripts with robust
drive handling capabilities.
Author
List all VBScript tutorials.