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

$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 (414d)