VBScript ShortPath Property
last modified April 9, 2025
The ShortPath
property in VBScript is part of the
FileSystemObject
. It returns the short path name (8.3 format) of a
file or folder. This property is useful when working with legacy systems or
applications that require the older DOS-style naming convention.
ShortPath
converts long filenames to their 8.3 format equivalents.
It helps maintain compatibility with older software. This tutorial covers
ShortPath
with practical examples to demonstrate its usage.
ShortPath Property Overview
The ShortPath
property is available through the
FileSystemObject
in VBScript. It returns a string representing the
short path name. The property is read-only and works with both files and
folders.
Key features include automatic conversion of long names to 8.3 format. It
requires the file or folder to exist. ShortPath
is particularly
useful for legacy system integration. Understanding this property helps create
compatible file handling scripts.
Basic ShortPath Usage
This example demonstrates the simplest use of ShortPath
to get the
short path of a file. It shows how to access the property through a file object.
The script displays both the original and short path names.
Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.GetFile("C:\Program Files\Internet Explorer\iexplore.exe") WScript.Echo "Original path: " & file.Path WScript.Echo "Short path: " & file.ShortPath Set file = Nothing Set fso = Nothing
The script creates a FileSystemObject
and gets a file object. It
then displays both the original path and the short path. The short path will
typically be in 8.3 format (e.g., PROGRA~1\INTERN~1\IEXPLORE.EXE).
Getting Folder ShortPath
This example shows how to use ShortPath
with folders. It
demonstrates getting the short path of a directory. The process is similar to
working with files but uses a folder object.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Program Files") WScript.Echo "Original path: " & folder.Path WScript.Echo "Short path: " & folder.ShortPath Set folder = Nothing Set fso = Nothing
The script retrieves the short path for the "Program Files" directory. The output will show the 8.3 format version (e.g., C:\PROGRA~1). This is useful when working with applications that require short path names.
Using ShortPath in File Operations
This example demonstrates using ShortPath
in actual file
operations. It shows how to use the short path when executing commands. Some
legacy commands work better with short paths.
Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.GetFile("C:\Program Files\Internet Explorer\iexplore.exe") shortPath = file.ShortPath WScript.Echo "Executing: " & shortPath Set wsh = CreateObject("WScript.Shell") wsh.Run shortPath Set file = Nothing Set fso = Nothing Set wsh = Nothing
The script gets the short path of Internet Explorer and executes it. Some older applications or scripts might require the short path format. This ensures compatibility across different systems.
Handling Spaces in Paths with ShortPath
This example shows how ShortPath
can help with paths containing
spaces. Some commands or applications have issues with spaces in paths. The
short path version eliminates spaces.
Set fso = CreateObject("Scripting.FileSystemObject") Set file = fso.GetFile("C:\Documents and Settings\All Users\Desktop\Sample.txt") WScript.Echo "Original path (with spaces): " & file.Path WScript.Echo "Short path (no spaces): " & file.ShortPath Set file = Nothing Set fso = Nothing
The script demonstrates converting a path with spaces to its short version. The short path replaces spaces and long names with 8.3 format. This makes the path more compatible with older systems.
Comparing ShortPath and LongPath
This example shows both short and long paths for comparison. It helps
understand how ShortPath
transforms the original path. The script
displays both versions side by side.
Set fso = CreateObject("Scripting.FileSystemObject") Set folder = fso.GetFolder("C:\Program Files (x86)\Common Files") WScript.Echo "Long path: " & folder.Path WScript.Echo "Short path: " & folder.ShortPath Set folder = Nothing Set fso = Nothing
The script gets a folder with a complex name and shows both paths. The short path will typically be something like C:\PROGRA~2\COMMON~1. This comparison helps understand the transformation.
Source
FileSystemObject Documentation
In this article, we have explored the ShortPath
property in
VBScript, covering its usage and practical applications. From basic file paths
to complex directory structures, these examples demonstrate reliable path
conversion. With this knowledge, you can enhance your scripts with better
compatibility.
Author
List all VBScript tutorials.