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.