VBScript GetSpecialFolder Method
last modified April 9, 2025
The GetSpecialFolder
method in VBScript is part of the
FileSystemObject
. It retrieves the path to special system folders
like Windows, System, or Temp directories. This method provides reliable access
to standard system locations. It's essential for scripts needing consistent
folder references.
GetSpecialFolder
accepts folder type constants as parameters. It
returns the full path to the requested system folder. This tutorial covers
GetSpecialFolder
with practical examples demonstrating its usage.
Understanding this method helps create portable system-aware scripts.
GetSpecialFolder Method Overview
The GetSpecialFolder
method takes one parameter: a folder type
constant. It returns a string containing the full path to that system folder.
The method is available through the FileSystemObject
in VBScript.
Three main folder constants are available: 0 (Windows), 1 (System), and 2 (Temporary). The method provides paths regardless of Windows version or installation location. This ensures scripts work across different systems.
Accessing the Windows Folder
This example demonstrates retrieving the Windows installation folder path. The
Windows folder contains critical system files and components. Using
GetSpecialFolder
ensures correct path retrieval on any system.
Set fso = CreateObject("Scripting.FileSystemObject") winFolder = fso.GetSpecialFolder(0) WScript.Echo "Windows folder: " & winFolder Set fso = Nothing
The script creates a FileSystemObject
and calls
GetSpecialFolder(0)
. This returns the Windows directory path, like
"C:\Windows". The path is displayed using WScript.Echo
. This
approach works across Windows versions.
Retrieving the System Folder
This example shows how to get the System32 folder path, which contains critical
system DLLs and executables. The System folder is essential for many system
operations. GetSpecialFolder
provides reliable access to this
location.
Set fso = CreateObject("Scripting.FileSystemObject") sysFolder = fso.GetSpecialFolder(1) WScript.Echo "System folder: " & sysFolder Set fso = Nothing
The script calls GetSpecialFolder(1)
to retrieve the System folder
path. This typically returns "C:\Windows\System32" on modern Windows systems.
The path is displayed for verification. This method works regardless of Windows
installation drive.
Accessing the Temp Folder
This example demonstrates retrieving the system's temporary folder path. The Temp
folder is commonly used for storing transient files. GetSpecialFolder
provides a consistent way to access this location across systems.
Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) WScript.Echo "Temp folder: " & tempFolder Set fso = Nothing
The script uses GetSpecialFolder(2)
to get the Temp folder path.
This typically returns a path like "C:\Users\[User]\AppData\Local\Temp". The
result is displayed for verification. This approach works for all user accounts.
Creating a Temp File Path
This example combines GetSpecialFolder
with other methods to create
a temporary file path. It shows practical usage for generating unique temp
files. The script ensures proper temp file location regardless of system
configuration.
Set fso = CreateObject("Scripting.FileSystemObject") tempFolder = fso.GetSpecialFolder(2) tempFile = fso.BuildPath(tempFolder, "temp_" & Timer & ".tmp") WScript.Echo "Temp file path: " & tempFile Set fso = Nothing
The script first gets the Temp folder path using GetSpecialFolder(2)
.
It then creates a unique filename using Timer
for uniqueness. The
BuildPath
method combines these into a complete path. This pattern
is useful for temporary file operations.
Checking Folder Accessibility
This example demonstrates verifying access to a special folder before use. It
combines GetSpecialFolder
with error handling. This ensures robust
script behavior when dealing with system folders.
On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") sysFolder = fso.GetSpecialFolder(1) If Err.Number <> 0 Then WScript.Echo "Error accessing System folder: " & Err.Description Else WScript.Echo "System folder accessible: " & sysFolder End If Set fso = Nothing
The script attempts to access the System folder with error handling enabled. If successful, it displays the path. If not, it shows the error description. This pattern is useful for scripts requiring system folder access.
Source
FileSystemObject Documentation
In this article, we have explored the GetSpecialFolder
method in
VBScript, covering its usage and practical applications. From accessing system
folders to creating temp files, these examples demonstrate reliable system path
retrieval. With this knowledge, you can enhance your scripts with robust system
folder handling.
Author
List all VBScript tutorials.