VBScript IsReady Property
last modified April 9, 2025
The IsReady
property in VBScript is part of the
Drive
object within the FileSystemObject
. It returns
a Boolean value indicating whether a drive is ready for access. This property is
essential for checking drive availability before performing operations.
IsReady
helps prevent errors when working with removable drives or
network shares. It checks if the drive is accessible and media is present. This
tutorial covers IsReady
with practical examples to demonstrate its
usage in various scenarios.
IsReady Property Overview
The IsReady
property returns True
if the specified
drive is ready and False
otherwise. It's available through the
Drive
object in VBScript scripting. The property is read-only.
Key features include detecting removable media presence and network connection
status. It's particularly useful for CD/DVD drives and USB devices.
IsReady
helps create robust scripts that handle drive access errors
gracefully.
Basic Drive Ready Check
This example demonstrates the simplest use of IsReady
to check a
drive's status. It shows how to determine if a drive is accessible before
attempting operations. The script checks the C: drive's readiness.
Set fso = CreateObject("Scripting.FileSystemObject") Set drive = fso.GetDrive("C:") If drive.IsReady Then WScript.Echo "Drive C: is ready" Else WScript.Echo "Drive C: is not ready" End If Set drive = Nothing Set fso = Nothing
The script creates a FileSystemObject
and gets the C: drive
object. It then checks the IsReady
property. For a fixed drive like
C:, it will typically return True
. The script properly cleans up
objects at the end.
Checking Removable Drive Status
This example shows how to use IsReady
with removable drives. It
demonstrates checking a USB drive or CD/DVD drive before access. The script
checks drive D: which is often a removable drive.
Set fso = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set drive = fso.GetDrive("D:") On Error GoTo 0 If Not drive Is Nothing Then If drive.IsReady Then WScript.Echo "Drive D: is ready with " & drive.VolumeName Else WScript.Echo "Drive D: is not ready (no media?)" End If Else WScript.Echo "Drive D: does not exist" End If Set drive = Nothing Set fso = Nothing
The script includes error handling as removable drives might not exist. It checks if the drive object was created successfully. If the drive exists but isn't ready, it suggests checking for media. This approach prevents runtime errors.
Network Drive Availability Check
This example demonstrates using IsReady
to verify network drive
connectivity. Network drives may become unavailable without warning. The script
checks a mapped network drive (Z: in this case).
Set fso = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set drive = fso.GetDrive("Z:") On Error GoTo 0 If Not drive Is Nothing Then If drive.IsReady Then WScript.Echo "Network drive Z: is available" WScript.Echo "Free space: " & drive.FreeSpace & " bytes" Else WScript.Echo "Network drive Z: is not available" End If Else WScript.Echo "Drive Z: is not mapped" End If Set drive = Nothing Set fso = Nothing
The script checks both the existence and readiness of the network drive. If available, it displays additional information like free space. This approach helps scripts handle network connectivity issues gracefully. Error handling prevents crashes from unmapped drives.
Checking All Drives in System
This example shows how to iterate through all drives and check their readiness.
It demonstrates using IsReady
in a comprehensive system scan. The
script lists all drives and their status.
Set fso = CreateObject("Scripting.FileSystemObject") Set drives = fso.Drives WScript.Echo "Drive Status Report:" WScript.Echo "-------------------" For Each drive In drives status = IIf(drive.IsReady, "Ready", "Not Ready") WScript.Echo drive.DriveLetter & ": " & status If drive.IsReady Then WScript.Echo " Type: " & drive.DriveType WScript.Echo " File system: " & drive.FileSystem End If Next Set drives = Nothing Set fso = Nothing Function IIf(expr, trueVal, falseVal) If expr Then IIf = trueVal Else IIf = falseVal End If End Function
The script enumerates all drives using the Drives
collection. For
each drive, it checks IsReady
and displays the status. For ready
drives, it shows additional information. The custom IIf
function
simplifies conditional output.
Handling CD/DVD Drive Status
This example focuses specifically on CD/DVD drive status checks. It demonstrates
how IsReady
can detect media presence in optical drives. The script
checks drive E: (common for optical drives).
Set fso = CreateObject("Scripting.FileSystemObject") On Error Resume Next Set drive = fso.GetDrive("E:") On Error GoTo 0 If Not drive Is Nothing Then If drive.DriveType = 4 Then ' CD-ROM drive If drive.IsReady Then WScript.Echo "CD/DVD drive E: has media" WScript.Echo "Volume name: " & drive.VolumeName Else WScript.Echo "CD/DVD drive E: is empty" End If Else WScript.Echo "Drive E: is not a CD/DVD drive" End If Else WScript.Echo "Drive E: does not exist" End If Set drive = Nothing Set fso = Nothing
The script first verifies the drive exists and is an optical drive (type 4). It
then checks IsReady
to determine media presence. This approach is
essential for CD/DVD burning or reading scripts. The script provides detailed
feedback about the drive status.
Source
In this article, we have explored the IsReady
property in VBScript,
covering its usage and practical applications. From basic drive checks to
network and removable media verification, these examples demonstrate robust
drive status checking. With this knowledge, you can create more reliable scripts
that handle drive access properly.
Author
List all VBScript tutorials.