如何在Powershell中查找当前脚本的位置/路径

Adi*_*ilZ 1 powershell

我有一个脚本(script1.ps1)位于C:\ FolderA

我可以在脚本中插入什么powershell代码,它将打印脚本的当前位置/路径。(目标是使此脚本可移植)

即:

-在folderA中时,代码将打印C:\ FolderA(完整路径)

-当Script1.ps1移至C:\ FolderB \ FolderC并运行时,它将打印C:\ FolderB \ FolderC的完整路径

任何帮助将非常感激。

谢谢


感谢@Nkosi和@Kori Gill

我一直在寻找的答案是$ PSScriptRoot

需要注意的一件事是,我注意到在运行脚本之前必须先在脚本内定义一个变量:

$Path = $PSScriptRoot

$Path
Run Code Online (Sandbox Code Playgroud)

与此工作,否则它没有

Kor*_*ill 5

请参阅“获得关于about_Automatic_Variables的帮助”。

阅读以下内容:

  • $ MyInvocation
  • $ PSScriptRoot
  • $ PSCommandPath

  • 至少对我来说,我必须首先以管理员身份运行“Update-Help”,然后此命令才能起作用。否则,请使用[在线文档](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-5.1)。 (3认同)