# 17. VbScript | Special Folders

Today we are going to talk about special folders in VbScript. Special Folders tend to be hidden or require a specific username to get to them. The Special Folders Command in VbScript are pre-defined directory paths that can be useful when moving a file from one directory to another; or any task that requires you to use common directories on the computer.

## Special Folder Paths

To specify a special folder, you can use this base code:

Option Explicit
Dim obj
Set obj = createobject("wscript.shell")

obj.specialfolders("")

Within the parenthesis-quotation of obj.specialfolder, you can specify the paths of any of these special folders:

----List of Special Folders ----

AllUsersDesktop
AllUsersPrograms
Desktop
Favorite
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
Startup
Templates

***If you put a file in the AllUsersDesktop special folder, the file will show up for all the users on their desktops.

SpecialFolders are like preset paths or addresses to specific or “special” folders

For example, the Desktop special folder command gives you the preset path to the desktop folder.

Option Explicit
Dim obj
Set obj = createobject("wscript.shell")

msgbox obj.specialfolders("Desktop")

Output:

## Open Special Folders

Notice that if you want to open the folder on your desktop, in addition to the default code you need to tell the VbScript to add a dash at the end of “C:\Users\rock\Desktop”. Like so:

Option Explicit
Dim obj
Set obj = createobject("wscript.shell")

obj.run obj.specialfolders("Desktop")& "\workshop"

=

Option Explicit
Dim obj, path
Set obj = createobject("wscript.shell")
path = obj.specialfolders("Desktop")& "\workshop"
obj.run path

Output:

## Copying a file to a Special Folder

To Copy a file to the startup folder:

Option Explicit
Dim fso, obj

Set fso = CreateObject("Scripting.FileSystemObject")
Set obj = CreateObject("wscript.shell")

fso.CopyFile "C:\Users\rock\Desktop\BigEyeCat.jpg" , obj.SpecialFolders("Startup")& "\"

=

Option Explicit
Dim fso, obj, nDirS

Set fso = CreateObject("Scripting.FileSystemObject")
Set obj = CreateObject("wscript.shell")
nDirS = obj.SpecialFolders("Startup")& "\"

fso.CopyFile "C:\Users\rock\Desktop\BigEyeCat.jpg" , nDirS

=

Option Explicit
Dim fso, obj, nDirs, nDirD

Set fso = CreateObject("Scripting.FileSystemObject")
Set obj = CreateObject("wscript.shell")
nDirS = obj.SpecialFolders("Startup")
nDirD =obj.SpecialFolders("Desktop")

fso.CopyFile nDirD& "\BigEyeCat.jpg" , nDirS & "\"

Output:

To summarize: instead of trying to find the full path or directory to a “special” Folder, you can use the Special Folder command to automatically specify the path.