VBScript Status Property
last modified April 9, 2025
The Status property in VBScript is used to check the status of
various operations, particularly in file handling. It returns a numeric value
indicating success or failure of an operation. This property is commonly
available in objects like File and Folder from the
FileSystemObject.
The Status property helps in error handling and operation
verification. It provides immediate feedback about the state of an object or
operation. Understanding this property is crucial for robust script development.
Status Property Overview
The Status property typically returns 0 for success and non-zero
for errors. Different objects may have specific status codes with particular
meanings. It's often used after operations that might fail, like file copies or
deletes.
Key features include immediate operation feedback and simple error detection. The property doesn't throw exceptions but provides status codes. It's available in several VBScript objects for consistent error handling.
Checking File Copy Status
This example demonstrates using the Status property after a file
copy operation. It shows how to verify if the copy succeeded. The status is
checked immediately after the copy attempt.
Set fso = CreateObject("Scripting.FileSystemObject")
Set sourceFile = fso.GetFile("C:\temp\source.txt")
sourceFile.Copy "C:\temp\destination.txt"
If sourceFile.Status = 0 Then
WScript.Echo "File copied successfully"
Else
WScript.Echo "Copy failed with status: " & sourceFile.Status
End If
Set fso = Nothing
The script attempts to copy a file and checks the Status property.
A status of 0 indicates success, while other values indicate errors. This
provides immediate feedback about the operation's outcome.
Verifying File Delete Operation
This example shows how to use the Status property after deleting a
file. It demonstrates error handling for file operations. The status check helps
confirm the deletion was successful.
Set fso = CreateObject("Scripting.FileSystemObject")
Set fileToDelete = fso.GetFile("C:\temp\oldfile.txt")
fileToDelete.Delete
If fileToDelete.Status = 0 Then
WScript.Echo "File deleted successfully"
Else
WScript.Echo "Delete failed with status: " & fileToDelete.Status
End If
Set fso = Nothing
After attempting to delete a file, the script checks the Status
property. This immediate verification helps identify issues like permission
problems. The status code provides specific information about the operation's
outcome.
Checking Folder Creation Status
This example demonstrates using the Status property with folder
operations. It shows how to verify if a folder was created successfully. The
status check occurs right after the creation attempt.
Set fso = CreateObject("Scripting.FileSystemObject")
Set newFolder = fso.CreateFolder("C:\temp\newfolder")
If newFolder.Status = 0 Then
WScript.Echo "Folder created successfully"
Else
WScript.Echo "Folder creation failed with status: " & newFolder.Status
End If
Set fso = Nothing
The script creates a new folder and checks its Status property.
This helps detect issues like existing folders or permission problems. The status
check provides immediate feedback about the operation.
Verifying File Attribute Changes
This example shows using the Status property after modifying file
attributes. It demonstrates how to confirm attribute changes were applied
successfully. The status check occurs after setting the attributes.
Set fso = CreateObject("Scripting.FileSystemObject")
Set myFile = fso.GetFile("C:\temp\test.txt")
myFile.Attributes = myFile.Attributes Or 1 ' Set read-only
If myFile.Status = 0 Then
WScript.Echo "Attributes changed successfully"
Else
WScript.Echo "Attribute change failed with status: " & myFile.Status
End If
Set fso = Nothing
After attempting to change file attributes, the script checks the
Status property. This helps verify the operation succeeded. The
status code provides specific information about any issues encountered.
Handling Multiple Operations Status
This example demonstrates checking Status after multiple file
operations. It shows how to track the status of sequential operations. Each
operation's status is checked individually.
Set fso = CreateObject("Scripting.FileSystemObject")
Set myFile = fso.CreateTextFile("C:\temp\log.txt")
If myFile.Status = 0 Then WScript.Echo "File created"
myFile.WriteLine "Test log entry"
If myFile.Status = 0 Then WScript.Echo "Write succeeded"
myFile.Close
If myFile.Status = 0 Then WScript.Echo "Close succeeded"
Set fso = Nothing
The script performs multiple file operations and checks Status
after each. This granular approach helps identify exactly where failures occur.
Each status check provides feedback about that specific operation's success.
Source
FileSystemObject Documentation
In this article, we have explored the Status property in VBScript,
covering its usage and practical applications. From file operations to folder
management, these examples demonstrate reliable status checking. With this
knowledge, you can enhance your scripts with robust error handling.
Author
List all VBScript tutorials.