VBScript Parent Property
last modified April 9, 2025
The Parent property in VBScript is used to access the parent object
of a given file or folder in the file system hierarchy. It returns a Folder
object representing the container of the current item. This property is part of
the FileSystemObject model and is available for both File and
Folder objects.
Parent helps navigate upward through directory structures without
manual path manipulation. It's particularly useful when you need to reference
files or folders relative to their parent locations. This tutorial covers
Parent with practical examples to demonstrate its usage.
Parent Property Overview
The Parent property provides access to the immediate parent folder
of a file or folder object. It's a read-only property that returns a Folder
object. For root directories, it returns Nothing. The property is available
through the FileSystemObject in VBScript scripting.
Key features include automatic path resolution and object-oriented navigation. It doesn't modify the file system or require path string manipulation. Understanding this property helps create more flexible file handling scripts.
Getting Parent Folder of a File
This example demonstrates how to get the parent folder of a specific file. It shows basic usage of the Parent property with a File object. The script creates a File object and accesses its Parent property.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Documents\report.docx")
Set parentFolder = file.Parent
WScript.Echo "Parent folder: " & parentFolder.Name ' Output: Documents
WScript.Echo "Full path: " & parentFolder.Path ' Output: C:\Documents
Set file = Nothing
Set parentFolder = Nothing
Set fso = Nothing
The script creates a File object for "report.docx" and accesses its Parent property. The Parent property returns a Folder object representing "C:\Documents". We then display both the folder name and full path.
Getting Parent Folder of a Folder
This example shows how to get the parent folder of another folder. It demonstrates the Parent property with a Folder object. The script navigates up one level in the directory structure.
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Projects\Website\Images")
Set parentFolder = folder.Parent
WScript.Echo "Current folder: " & folder.Name ' Output: Images
WScript.Echo "Parent folder: " & parentFolder.Name ' Output: Website
WScript.Echo "Parent path: " & parentFolder.Path ' Output: C:\Projects\Website
Set folder = Nothing
Set parentFolder = Nothing
Set fso = Nothing
The script creates a Folder object for "Images" and accesses its Parent property. The Parent property returns a Folder object representing "C:\Projects\Website". We display both the current and parent folder names.
Handling Root Directory Parent
This example demonstrates what happens when accessing Parent property of a root directory. Root directories have no parent, so the property returns Nothing. The script includes error handling for this special case.
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\")
Set parentFolder = folder.Parent
If parentFolder Is Nothing Then
WScript.Echo "This is a root directory with no parent"
Else
WScript.Echo "Parent folder: " & parentFolder.Name
End If
Set folder = Nothing
Set parentFolder = Nothing
Set fso = Nothing
The script attempts to get the Parent of "C:\". Since it's a root directory, the Parent property returns Nothing. The script checks for this condition and displays an appropriate message. This demonstrates proper handling of edge cases.
Navigating Multiple Levels Up
This example shows how to navigate multiple levels up the directory hierarchy by chaining Parent property accesses. Each Parent property call moves up one level in the folder structure.
Set fso = CreateObject("Scripting.FileSystemObject")
Set folder = fso.GetFolder("C:\Projects\Website\Images\Products")
' Navigate up three levels
Set level1 = folder.Parent ' Website\Images
Set level2 = level1.Parent ' Website
Set level3 = level2.Parent ' Projects
WScript.Echo "Original: " & folder.Path
WScript.Echo "Level 1: " & level1.Path
WScript.Echo "Level 2: " & level2.Path
WScript.Echo "Level 3: " & level3.Path
Set folder = Nothing
Set level1 = Nothing
Set level2 = Nothing
Set level3 = Nothing
Set fso = Nothing
The script starts at "Products" folder and navigates up three levels. Each Parent property access moves up one directory level. This demonstrates how to traverse directory structures programmatically without path manipulation.
Using Parent Property in File Operations
This practical example shows using the Parent property to perform file operations relative to a file's location. The script creates a new file in the same directory as an existing file by using the Parent property.
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.GetFile("C:\Data\report.txt")
Set parentFolder = file.Parent
' Create a new file in the same directory
newFilePath = fso.BuildPath(parentFolder.Path, "backup.txt")
Set newFile = parentFolder.CreateTextFile("backup.txt")
WScript.Echo "Created new file at: " & newFile.Path
newFile.WriteLine "This is a backup file"
newFile.Close
Set file = Nothing
Set parentFolder = Nothing
Set newFile = Nothing
Set fso = Nothing
The script gets the parent folder of "report.txt" and creates a new file "backup.txt" in the same directory. This demonstrates practical use of the Parent property to perform operations relative to existing files. The approach works regardless of the original file's location.
Source
FileSystemObject Documentation
In this article, we have explored the Parent property in VBScript,
covering its usage and practical applications. From simple parent folder access
to multi-level navigation, these examples demonstrate hierarchical file system
navigation. With this knowledge, you can enhance your file handling scripts
with robust directory traversal.
Author
List all VBScript tutorials.