2

実行中または作成中のスクリプトの場所を取得する方法を知りたいです。現在の PowerShell スクリプトと同じディレクトリに配置された .NET アセンブリのセットがあり、それらをスクリプトからロードします。現在、アセンブリを見つけるために固定パスを使用していますが、現在のファイルの場所からそれらをロードしたいと考えています。

[System.Reflection.Assembly]::LoadFrom
("C:\Work\Scripts\Assemblies\DynamicOps.ManagementModel.Client.dll")

[System.Reflection.Assembly]::LoadFrom
("C:\Work\Scripts\Assemblies\DynamicOps.Repository.dll")
4

2 に答える 2

12
$MyInvocation

スクリプト、関数、スクリプト ブロックなど、現在のコマンドに関する情報を含むオブジェクトが含まれます。スクリプトのパスとファイル名 ( $myinvocation.mycommand.path) または関数の名前( ) などのオブジェクト内の情報を使用し$myinvocation.mycommand.nameて、現在のコマンドを識別できます。これは、実行中のスクリプトの名前を見つけるのに特に役立ちます。about_Automatic_Variablesを使用すると、自動変数に関する完全なヘルプが得られます。

get-help about_Automatic_Variables -full

(編集済み)現在のディレクトリを取得するには、CmdLet を取得しましたGet-Location

于 2012-05-18T12:24:36.967 に答える
2

$MyInvocation.MyCommand.Path多分?

于 2012-05-18T12:24:26.447 に答える