PowerShell で作業ディレクトリを変更する

PowerShell で作業ディレクトリを変更する

多くの標準コマンドプロンプト(CMD)コマンドは、Windows PowerShell 環境で機能します。PowerShell 環境では、これらのコマンドが、エイリアスを使用して、ping などの最も基本的なコマンドから、レガシー環境の ipconfig などの最も使用されているコマンドに転送されます。

Windows PowerShell で引き続き機能する CMD コマンドの 1つの例は、ディレクトリ変更コマンドまたは cd および chdir です。

Windows PowerShell 内でレガシーコマンド cd および chdir を使用できますが、特定の状況では、PowerShell コマンドレット Set-Location を使用して、適切でクリーンなコードを構築することをお勧めします。

PowerShell で Set-Location コマンドレットを使用して作業ディレクトリを変更する

Set-Location コマンドレットも同様に、作業ディレクトリを従来の対応する cdchdir のような指定された場所に設定します。このコマンドレットと従来のコマンドとのわずかな違いは、Set-Location コマンドレットは、CMD.EXE では実行できない作業ドライブとディレクトリの両方を同時に変更するのに便利なことです。

コマンドプロンプトで作業ディレクトリを別のドライブに変更する必要がある場合でも、最初に <ドライブ文字>:を入力してから、cd および chdir コマンドを開始して作業ディレクトリのパスを変更する必要があります。

コマンド・プロンプト:

C:\> cd C:\Temp
C:\Temp> cd D:\Docs
C:\Temp>
#To change the working drive, type the drive letter
C:\Temp> D:
D:\>

パワーシェル:

PS C:\> Set-Location C:\Temp
PS C:\Temp> Set-Location D:\Docs
PS D:\Docs>

Set-Location コマンドレットは、追加のパラメーターがあるため、従来のコマンドとは異なります。

以下にいくつかの例を示します。

Set-Location -Path C:\Temp

上記のスニペットの例では、-Path パラメーターがスクリプト環境の新しい作業ディレクトリを指定します。ただし、パスにスペースが含まれている場合は、それらを一重引用符('')または二重引用符("")で囲むことを忘れないでください。

Set-Location -Path "C:\Temp\Temporary Documents"

Set-Location コマンドレット内のもう 1つの便利なパラメーターは、-PassThru パラメーターです。このパラメータは、戻り値を変数に格納するために使用できる新しい作業ディレクトリを返します。

サンプルコード:

$newDir = Set-Location -Path C:\Temp -PassThru
Write-Output $newDir.path

出力:

C:\Temp

また、-PassThru パラメーターがある場合にのみ、Set-Location コマンドレットの完全なプロパティリストにアクセスできます。

サンプルコード:

Set-Location -Path G: -PassThru | fl *

出力:

Drive        : G
Provider     : Microsoft.PowerShell.Core\FileSystem
ProviderPath : G:\
Path         : G:\

最後に、cdchdir の他に、Windows PowerShell は Set-Location の別のエイリアスとして sl も使用します。これを使用して、より高速でスムーズなスクリプトアプローチを行うことができます。

sl -Path C:\Temp
チュートリアルを楽しんでいますか? <a href="https://www.youtube.com/@delftstack/?sub_confirmation=1" style="color: #a94442; font-weight: bold; text-decoration: underline;">DelftStackをチャンネル登録</a> して、高品質な動画ガイドをさらに制作するためのサポートをお願いします。 Subscribe
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - PowerShell Directory