スクリプトの現在のディレクトリを使用してPowerShellスクリプトを実行しています。したがって、そのディレクトリの内部では、.\script.ps1
を実行すると正しく動作します。PowerShell:スクリプトのディレクトリからコマンドを実行します。
今、スクリプトの参照先ディレクトリを変更せずに、そのスクリプトを別のディレクトリから呼び出す必要があります。だから、私は..\..\dir\script.ps1
に電話して、そのスクリプトがそのディレクトリの中から呼び出されたときに動作するようにします。
どのようにすればよいですか、またはどのディレクトリからでも実行できるようにスクリプトを変更するにはどうすればよいですか?
ええ、大丈夫ですか、多分私のスクリプトについてもう少し明確にすべきでした。実際には、いくつかのパラメータで 'ant'を呼び出すスクリプトです。だから私はそのフォルダから 'ant'を呼び出して、設定ファイルが正しく見つかるようにしなければなりません。理想的には、一時的にそのスクリプト内の実行ディレクトリをローカルに変更するものを探しています。 – poke
ああ、その場合には 'Push-Location'と' Pop-Location'を気にするでしょう – JohnL
$ MyInvocationは文脈に敏感です、私は通常$ ScriptPath =(Get-Variable MyInvocation -Scope Script).Value.MyCommand 。任意の種類のネストまたは関数から動作するパス –