17
実行中のコマンドレットの現在のディレクトリを取得する方法
これは簡単なタスクですが、実行されたコマンドレットが配置されているディレクトリへのパスを取得する方法について、いくつかの試みがありましたが、成功はさまざまです。たとえばC:\temp\myscripts\mycmdlet.ps1、設定ファイルがあるを実行すると、内の変数C:\temp\myscripts\settings.xmlに保存できるようになりC:\temp\myscriptsますmycmdlet.ps1。 これは機能する解決策の1つです(ただし、少し面倒です)。 $invocation = (Get-Variable MyInvocation).Value $directorypath = Split-Path $invocation.MyCommand.Path $settingspath = $directorypath + '\settings.xml' 別の人は私たちのテスト環境でのみ機能するこのソリューションを提案しました: $settingspath = '.\settings.xml' 私は後者のアプローチがとても好きで、毎回ファイルパスをパラメーターとして解析する必要があることを好みますが、私の開発環境で機能させることはできません。どうしたらいいですか?PowerShellの構成方法と関係がありますか?
202
powershell
cmdlet