スクリプト自身のパスなどの参照

$PSScriptRoot

  • $PSScriptRoot を使う。

例 Microsoft.PowerShell_profile.ps1

 $moduleDir = (join-path $PSScriptRoot modules)
 $env:PSModulePath = $moduleDir + ";" + $env:PSModulePath

PowerShell 2以前

  • 自動変数$MyInvocationを参照する。
  • コマンド名は$MyInvocation.MyCommandで取得できる。
  • その他は以下の通り。
 PS tmp> C:\tmp\my-test.ps1 -foo 1 bar
 
 MyCommand             : my-test.ps1
 BoundParameters       : {}
 UnboundArguments      : {-foo, 1, bar}
 ScriptLineNumber      : 1
 OffsetInLine          : 1
 HistoryId             : 325
 ScriptName            :
 Line                  : C:\tmp\my-test.ps1 -foo 1 bar
 PositionMessage       : 発生場所 行:1 文字:1
                         + C:\tmp\my-test.ps1 -foo 1 bar
                         + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 PSScriptRoot          :
 PSCommandPath         :
 InvocationName        : C:\tmp\my-test.ps1
 PipelineLength        : 1
 PipelinePosition      : 1
 ExpectingInput        : False
 CommandOrigin         : Runspace
 DisplayScriptPosition :

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2017-05-27 (土) 19:08:37