How can I get the file system location of a PowerShell script?
PowerShell 3+
The path of a running scripts is:
$PSCommandPath
Its directory is:
$PSScriptRoot
PowerShell 2
The path of a running scripts is:
$MyInvocation.MyCommand.Path
Its directory is:
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
Roman Kuzmin answered the question imho. I'll just add that if you import a module (via Import-Module
), you can access $PsScriptRoot
automatic variable inside the module -- that will tell you where the module is located.