[解決済み] PowerShellです。スクリプトのディレクトリからコマンドを実行する
2022-04-25 08:08:55
質問
PowerShellスクリプトで、スクリプトのカレントディレクトリを使用して何らかの処理を行うものがあります。そのため、そのディレクトリの内部で
.\script.ps1
は正しく動作します。
次に、スクリプトの参照ディレクトリを変更せずに、別のディレクトリからそのスクリプトを呼び出したいと思います。そこで
..\..\dir\script.ps1
で、そのスクリプトがそのディレクトリの中から呼ばれたように動作するようにしたい。
また、どのディレクトリからでも実行できるようにスクリプトを修正するにはどうすればよいですか?
どのように解決するのですか?
スクリプトの横にあるファイルを参照できるように、スクリプト自身のパスが欲しいということでしょうか? これを試してみてください。
$scriptpath = $MyInvocation.MyCommand.Path
$dir = Split-Path $scriptpath
Write-host "My directory is $dir"
MyInvocationとそのプロパティから、多くの情報を得ることができます。
現在の作業ディレクトリにあるファイルを参照したい場合は、Resolve-Path または Get-ChildItem を使用することができます。
$filepath = Resolve-Path "somefile.txt"
EDIT(OPのコメントを元に)。
# temporarily change to the correct folder
Push-Location $dir
# do stuff, call ant, etc
# now back to previous directory
Pop-Location
Invoke-Commandを使って似たようなことを実現する方法は他にもあるはずです。
関連
-
[解決済み] Powershell ISE 内の別の PS1 スクリプトから PowerShell スクリプト PS1 を呼び出す
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] PowerShellで文字列と変数を連結する方法は?
-
[解決済み] PowerShellでコマンドライン引数を処理する方法
-
[解決済み] PowerShellの*Nix 'which'コマンドに相当するもの?
-
[解決済み] PowerShell 2.0を使ってディレクトリ全体を再帰的に削除するには?
-
[解決済み】PowerShellスクリプトを実行する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン