4
votes

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

1

1 Answers

9
votes

See "get-help about_Automatic_Variables".

Read sections on:

  • $MyInvocation
  • $PSScriptRoot
  • $PSCommandPath