VBScript DriveType Property
last modified April 9, 2025
The DriveType
property in VBScript is part of the
FileSystemObject
. It identifies the type of a drive, such as fixed,
removable, or network. This property returns an integer representing the drive's
type. It's useful for scripts that need to handle different storage devices.
DriveType
helps determine available storage options and their
characteristics. It enables conditional logic based on drive capabilities. This
tutorial covers DriveType
with practical examples to demonstrate its
usage in various scenarios.
DriveType Property Overview
The DriveType
property returns an integer from 0 to 6 indicating
the drive type. Each number corresponds to a specific drive category. The
property is accessed through a Drive
object in VBScript scripting.
Common values include 1 for removable, 2 for fixed, and 3 for network drives. Unknown drives return 0, while CD-ROM drives return 4. RAM disks return 5, and removable media drives return 6. Understanding these values helps create robust drive handling scripts.
Checking Drive Type Basics
This example demonstrates the simplest use of DriveType
to check a
drive's type. It shows how to access the property and interpret its value. The
script identifies whether a drive is fixed or removable.
Set fso = CreateObject("Scripting.FileSystemObject") Set drive = fso.GetDrive("C:") driveType = drive.DriveType Select Case driveType Case 1: WScript.Echo "Removable drive" Case 2: WScript.Echo "Fixed drive" Case 3: WScript.Echo "Network drive" Case Else: WScript.Echo "Other drive type" End Select Set drive = Nothing Set fso = Nothing
The script creates a FileSystemObject
and gets the C: drive. It
reads the DriveType
property and uses a Select Case statement to
interpret the value. For most systems, C: will return 2 (Fixed drive).
Listing All Drive Types
This example enumerates all available drives and displays their types. It shows how to iterate through the Drives collection. Each drive's type is checked and displayed with its letter.
Set fso = CreateObject("Scripting.FileSystemObject") Set drives = fso.Drives For Each drive In drives Select Case drive.DriveType Case 0: typeName = "Unknown" Case 1: typeName = "Removable" Case 2: typeName = "Fixed" Case 3: typeName = "Network" Case 4: typeName = "CD-ROM" Case 5: typeName = "RAM Disk" Case 6: typeName = "Removable Media" End Select WScript.Echo drive.DriveLetter & ": " & typeName Next Set drives = Nothing Set fso = Nothing
The script creates a FileSystemObject
and accesses its Drives
collection. It loops through each drive, checks its type, and displays the
letter with a descriptive name. This provides a complete overview of all
connected storage devices.
Checking for CD-ROM Drive
This example specifically checks for CD-ROM drives in the system. It
demonstrates how to use DriveType
to find optical drives. The
script identifies any drives with type 4 (CD-ROM).
Set fso = CreateObject("Scripting.FileSystemObject") Set drives = fso.Drives found = False For Each drive In drives If drive.DriveType = 4 Then WScript.Echo "CD-ROM drive found: " & drive.DriveLetter & ":" found = True End If Next If Not found Then WScript.Echo "No CD-ROM drives found" Set drives = Nothing Set fso = Nothing
The script scans all drives looking for type 4 (CD-ROM). If found, it displays the drive letter. If no optical drives are detected, it informs the user. This technique is useful for scripts that need to interact with CD/DVD media.
Network Drive Detection
This example shows how to identify network drives using DriveType
.
It checks for drives with type 3 (Network). The script can help manage network
resources or verify mapped drives.
Set fso = CreateObject("Scripting.FileSystemObject") Set drives = fso.Drives count = 0 For Each drive In drives If drive.DriveType = 3 Then WScript.Echo "Network drive: " & drive.DriveLetter & ":" count = count + 1 End If Next WScript.Echo "Found " & count & " network drive(s)" Set drives = Nothing Set fso = Nothing
The script counts and lists all network drives on the system. It uses the type value 3 to identify network connections. This approach helps in scripts that need to verify network resource availability before operations.
Removable Drive Check
This example demonstrates checking for removable drives (USB, flash drives). It looks for drives with type 1 (Removable) or 6 (Removable Media). The script provides feedback about detected removable storage.
Set fso = CreateObject("Scripting.FileSystemObject") Set drives = fso.Drives count = 0 For Each drive In drives If drive.DriveType = 1 Or drive.DriveType = 6 Then WScript.Echo "Removable drive: " & drive.DriveLetter & ":" count = count + 1 End If Next If count = 0 Then WScript.Echo "No removable drives found" Else WScript.Echo "Found " & count & " removable drive(s)" End If Set drives = Nothing Set fso = Nothing
The script identifies both standard removable drives (type 1) and removable media drives (type 6). It provides a count of detected devices. This is useful for scripts that need to interact with USB storage or similar devices.
Source
FileSystemObject Documentation
In this article, we have explored the DriveType
property in
VBScript, covering its usage and practical applications. From basic type checks
to specific drive detection, these examples demonstrate reliable drive
identification. With this knowledge, you can enhance your scripts with robust
drive handling capabilities.
Author
List all VBScript tutorials.