PowerShell: Path Tutorial
Many commands have a
Path parameter is a positional parameter and named parameter. That means, it can be first arg, or with
-path value anywhere.
# list file of a given path dir c:/Users/xah/web/ # or dir -Path c:/Users/xah/web/
Path Value Are Expanded
Path value can contain abbrev, such as
~/ to mean
$home, and String Wildcards such as
* for any characters.
dir ~/web/ # same as dir c:/Users/xah/web/
-LiteralPath if you do not want
Default Path Value
Path parameter is omitted, default value is current dir.
dir # same as dir .
Relative Path, Full Path
-Path parameter accepts both full path or relative path.
cd dir Documents # same as dir c:/Users/xah/Documents/
Path Value is String Type, Quote Path that Contains Space
If the path contains space, it needs to be quoted.
dir "c:/Users/xah/Saved Games"
[see PowerShell: String]
Note: quoted path is also expanded. [see PowerShell: Path Expansion]
Path separator is the backslash, but slash is also supported. They can be mixed.
All the following works the same:
single dot, double dots
- Single dot
.means the current dir.
- Double dot
..means the parent dir.
cd ..means go up one dir
cd ../..means go up two dirs
return the current dir.
-LiteralPath parameter lets you input a path without expansion.
# list children of a dir named math* as is dir -LiteralPath "math*"