Obtain the full path to any of the special Windows folders (Desktop, Start Menu etc).
Syntax strMyPath = objShell.SpecialFolders("strFolderName") or strMyPath = objShell.SpecialFolders.Item("strFolderName") Arguments: objShell A WScript.Shell object strFolderName : One of the following special folders (not all are available to all flavors of Windows) AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs Recent SendTo StartMenu Startup Templates Returns: strMyPath : The full path to the special folder returns NULL if the folder is not available.
Examples
Return the full path to the Windows Desktop:
Dim objShell Dim strPath Set objShell = Wscript.CreateObject("Wscript.Shell") strPath = objShell.SpecialFolders("Desktop") wscript.echo strPath
To read a value from the script above into a CMD batch file:
FOR /F "usebackq delims=" %%i in (`cscript FindDesktop.vbs`) DO Set _DeskTopDir=%%i
List all special folders:
For Each strFolder In WScript.CreateObject("Wscript.Shell").SpecialFolders MsgBox strFolder Next
“An artist who was once known as Prince
On the stage he would wiggle and mince
And then, for a giggle, He changed his name to a squiggle
And nobody's heard of him since” ~ Tim Brooke-Taylor
Related
Shell: folder - Shortcuts to key folders.
User Shell Folders - Profile, Start Menu - Location of user profile folders.
Equivalent in PowerShell: environment variables or (Get-WMIObject Win32_OperatingSystem).SystemDirectory