AdilZ
AdilZ

Reputation: 1197

How to find location/path of current script in powershell

I have a script (script1.ps1) that lies in C:\FolderA

What powershell code can I insert in the script, that it will print what ever current location/path of the script. (The goal is to make this script portable)

ie:

-When in folderA, the code will print C:\FolderA (full-path)

-When Script1.ps1 is moved to C:\FolderB\FolderC and run, it prints the full path of C:\FolderB\FolderC

Any help would be much appreciated.

Thanks


Thanks to @Nkosi and @Kori Gill

The answer I was looking for was $PSScriptRoot

One thing to note, is that I noticed I had to define a variable first inside the script before running the script:

$Path = $PSScriptRoot

$Path

with this it worked otherwise it didnt

Upvotes: 10

Views: 24472

Answers (1)

Kory Gill
Kory Gill

Reputation: 7153

See "get-help about_Automatic_Variables".

Read sections on:

  • $MyInvocation
  • $PSScriptRoot
  • $PSCommandPath

Upvotes: 12

Related Questions