Categories: OS

PowerShellのGet-Locationコマンドを徹底解説!カレントディレクトリの取得と活用方法

PowerShellでスクリプトを実行する際、現在作業しているディレクトリ(カレントディレクトリ)を知ることは非常に重要です。そのために使用するのがGet-Locationコマンドです。
このコマンドを使えば、現在の作業ディレクトリを取得したり、スクリプト内で条件分岐を行う際の基準として利用したりできます。
本記事では、Get-Locationコマンドの基本的な使い方から応用テクニックまでを詳しく解説します。PowerShell初心者から中級者まで、すぐに役立つ内容をお届けしますので、ぜひ最後までご覧ください。

Get-Locationとは?

PowerShellのGet-Locationコマンドは、現在の作業ディレクトリ(カレントディレクトリ)を取得するためのコマンドです。
PowerShellを使ってファイル操作やスクリプト実行を行う際、どのディレクトリで作業しているのかを把握するのに便利です。

基本構文

Get-Location

このコマンドを実行すると、現在の作業ディレクトリのパスが表示されます。

例:

PS C:\Users\Test> Get-Location
Path
----
C:\Users\Test

上記のように、現在の作業ディレクトリがC:\Users\Testであることが確認できます。


Get-Locationの基本的な使い方

1. コマンドレット単体での使用

Get-Location

このコマンドだけで、カレントディレクトリを取得できます。

2. -PSProvider パラメータを使用

PowerShellでは、ファイルシステムだけでなく、レジストリや環境変数など、異なる場所で作業することが可能です。
-PSProviderパラメータを指定することで、特定のプロバイダの現在の場所を取得できます。

例:レジストリの現在位置を取得

Set-Location HKCU:\Software
Get-Location -PSProvider Registry

このコマンドを実行すると、現在のレジストリキーの場所が表示されます。

3. Get-Locationの出力を変数に格納

カレントディレクトリを変数に保存し、後で参照することも可能です。

例:

$currentPath = Get-Location
Write-Output "現在のディレクトリは $currentPath です。"

このスクリプトを実行すると、現在のディレクトリが表示されます。


Get-Locationの応用テクニック

1. Set-Locationと組み合わせて使用

PowerShellでは、Set-Locationコマンドを使用して作業ディレクトリを変更できます。
Get-Locationと組み合わせることで、作業ディレクトリを確認しながら移動することが可能です。

例:ディレクトリ移動後に現在地を確認

Set-Location C:\Windows
Get-Location

このコマンドを実行すると、カレントディレクトリがC:\Windowsに変更され、その後に現在のディレクトリが表示されます。

2. スクリプトの実行場所を取得

PowerShellスクリプトを実行する際に、スクリプトの実行ディレクトリを取得することができます。

例:スクリプトの実行場所を取得

$scriptPath = Split-Path -Parent $MyInvocation.MyCommand.Path
Write-Output "スクリプトが実行されたディレクトリ: $scriptPath"

このスクリプトを実行すると、スクリプトがどのディレクトリから実行されたのかを取得できます。

3. ログの保存先として利用

スクリプトの実行ログを保存する際、Get-Locationを使って現在のディレクトリを取得し、そこにログを保存することができます。

例:ログファイルの作成

$logPath = Get-Location
$logFile = "$logPath\execution_log.txt"
"スクリプト実行ログ" | Out-File -FilePath $logFile

このスクリプトを実行すると、カレントディレクトリにexecution_log.txtが作成され、ログが記録されます。


Get-Locationと似た機能のコマンド

PowerShellにはGet-Locationと似た機能を持つコマンドがいくつか存在します。
用途に応じて使い分けると便利です。

コマンド説明
pwdGet-Locationのエイリアス。Linuxのpwdと同じ機能。
Set-Location作業ディレクトリを変更するコマンド。
Push-Location現在の場所を記憶して新しいディレクトリへ移動。
Pop-LocationPush-Locationで記憶した場所に戻る。

例えば、Push-LocationPop-Locationを使えば、一時的にディレクトリを変更して戻ることが可能です。

例:

Push-Location C:\Windows
Get-Location # C:\Windows と表示される
Pop-Location
Get-Location # 元のディレクトリに戻る

まとめ

PowerShellのGet-Locationコマンドは、現在の作業ディレクトリを取得するための便利なツールです。
スクリプトの実行場所を確認したり、ログの保存先を動的に設定したりするのに役立ちます。

本記事のポイント

  • Get-Locationは現在の作業ディレクトリを取得するコマンド
  • -PSProviderオプションを使えば、レジストリや環境変数の現在地も取得可能
  • Set-Locationと組み合わせて作業ディレクトリの移動に活用
  • Push-LocationPop-Locationを使えば、一時的なディレクトリ移動が可能

PowerShellスクリプトを効率よく作成するために、ぜひGet-Locationを活用してみてください!

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。