Managing Current Location

  • 06/05/2017
  • 4 minutes to read
    • j
  • s
  • m

File Explorerでフォルダシステムを移動する場合、以下のようなことがあります。 通常、特定の作業場所、つまり現在開いているフォルダーがあります。 現在開いているフォルダー内の項目は、クリックすることで簡単に操作することができます。 Cmd.exeなどのコマンドラインインタフェースでは、特定のファイルと同じフォルダにいるとき、ファイルへのパス全体を指定する必要がなく、比較的短い名前を指定することでそのファイルにアクセスすることができます。

Windows PowerShellでは、作業ディレクトリを参照するためにLocationという名詞を使用し、場所を調査および操作するための一連のコマンドレットを実装しています。

現在の場所を取得する (Get-Location)

現在のディレクトリの場所のパスを決定するには、Get-Locationコマンドを入力します:

PS> Get-LocationPath----C:\Documents and Settings\PowerUser

注意

Get-Location コマンドレットは BASH シェルにおける pwd コマンドと類似しています。 Set-Location コマンドレットは、Cmd.exe の cd コマンドに似ています。

Setting Your Current Location (Set-Location)

Get-Location コマンドは Set-Location コマンドとともに使用されます。 Set-Locationコマンドを使用すると、現在のディレクトリの場所を指定できます。

Set-Location -Path C:\Windows

コマンドを入力した後、コマンドの効果に関する直接的なフィードバックがないことに気がつきます。 アクションを実行するほとんどのWindows PowerShellコマンドは、出力がほとんど、あるいは全く出力されませんが、それは出力が常に有用であるとは限らないからです。 Set-Location コマンドを入力したときにディレクトリの変更が成功したことを確認するには、Set-Location コマンドを入力するときに -PassThru パラメータを含めます。

PS> Set-Location -Path C:\Windows -PassThruPath----C:\WINDOWS

-PassThru パラメータは Windows PowerShell の多くの Set コマンドで使用でき、デフォルト出力がない場合に結果に関する情報を返します。

ほとんどの UNIX および Windows コマンドシェルで行うのと同じ方法で現在の位置からの相対パスを指定することが可能です。 相対パスの標準的な表記では、ピリオド(.)は現在のフォルダを、ダブルピリオド(..)は現在の場所の親ディレクトリを表します。

たとえば、C:³³フォルダにいる場合、ピリオド(.)はC:³³³、ダブルピリオド(..)はC:.³³³を表します。

PS> Set-Location -Path .. -PassThruPath----C:\

と入力することで、現在の場所からC:ドライブのルートに変更することができます。 レジストリの HKLMSoftware キーに場所を設定するには、次のように入力します:

PS> Set-Location -Path HKLM:\SOFTWARE -PassThruPath----HKLM:\SOFTWARE

次に、相対パスを使用して、ディレクトリの場所を Windows PowerShell HKLM: ドライブのルートである親ディレクトリに変更できます:

PS> Set-Location -Path .. -PassThruPath----HKLM:\

このとき、Set-Location と入力するか、または Set-Location に対する Windows PowerShell 内蔵エイリアス (cd, chdir, sl) のいずれかを使用してもかまいません。 例:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

Saving and Recalling Recent Locations (Push-Location and Pop-Location)

場所を変更するとき、行った場所を記録して、前の場所に戻ることができると便利です。 Windows PowerShell の Push-Location コマンドレットは、行ったことのあるディレクトリ パスの順序付き履歴 (「スタック」) を作成し、補完的な Pop-Location コマンドレットを使用してディレクトリ パスの履歴をステップバックできます。

たとえば、Windows PowerShell は通常ユーザーのホーム ディレクトリで開始します。 アイテムの物理的なスタックのように、あなたがスタックに置いた最後のアイテムは、スタックから引き出すことができる最初のアイテムです。 スタックにアイテムを追加することは、俗にスタックにアイテムを「押す」ことと呼ばれています。 スタックからアイテムを引き出すことは、俗にスタックからアイテムを「ポッピング」することとして知られています。

現在の場所をスタックにプッシュし、Local Settings フォルダに移動するには、次のように入力します:

Push-Location -Path "Local Settings"

次に Local Settings の場所をスタックにプッシュし、Temp フォルダに移動するには次のように入力します:

Push-Location -Path Temp

ディレクトリを変更したかどうかは Get-Location コマンドを入力して確認することができます。

PS> Get-LocationPath----C:\Documents and Settings\PowerUser\Local Settings\Temp

次に、Pop-Locationコマンドを入力して最近アクセスしたディレクトリにポップバックし、Get-Locationコマンドを入力して変更を確認することができます:

PS> Pop-LocationPS> Get-LocationPath----C:\Documents and Settings\me\Local Settings

Set-Locationコマンドレットと同様に、-PossThruパラメーターは、入力したディレクトリを表示するためにPop-Locationコマンドレットを入力したときに指定します:

PS> Pop-Location -PassThruPath----C:\Documents and Settings\PowerUser

ネットワークパスでも、Locationコマンドレットは使用することができます。 FS01 というサーバーに Public という共有がある場合、

Set-Location \FS01\Public

または

Push-Location \FS01\Public

と入力して場所を変更できます。Push-Location と Set-Location コマンドを使用して、場所を任意の利用できるドライブに変更することが可能です。 たとえば、データ CD が入っているドライブ文字 D のローカル CD-ROM ドライブがある場合、Set-Location D: コマンドを入力して、CD ドライブに場所を変更できます。

ドライブが空の場合、次のエラー メッセージが表示されます:

PS> Set-Location D:Set-Location : Cannot find path 'D:\' because it does not exist.

コマンド ライン インターフェイスを使用している場合、File Explorer で有効な物理ドライブを調査することは便利ではありません。 また、ファイル エクスプローラーでは、Windows PowerShell のすべてのドライブを表示することはできません。 Windows PowerShellには、Windows PowerShellのドライブを操作するためのコマンド群が用意されており、次回はこれらについて説明します。

コメントを残す

メールアドレスが公開されることはありません。