10

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 Answer 1

12

See "get-help about_Automatic_Variables".

Read sections on:

  • $MyInvocation
  • $PSScriptRoot
  • $PSCommandPath
Sign up to request clarification or add additional context in comments.

2 Comments

At least for me, I had to first run Update-Help as admin before this command would work. Otherwise, use the online documentation.
I had to first run also this command from Admin PS Console: Install-Script -Name Install-AboutHelp from this other question.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.