WindowsでコマンドプロンプトやPowerShellでカレントディレクトリを移動したい場合、以下の4通りの方法があります。
- CD(CHDIR)コマンドを使った方法
- PUSHD、POPDコマンドを使った方法
- Set-Locationコマンドレットを使った方法
- エクスプローラーを使った方法
そこでここでは、WindowsコマンドやPowerShell、エクスプローラーで、カレントディレクトリを移動する方法を解説します。
目次
CD(CHDIR)コマンドを使った方法
コマンドプロンプトやPowerShellでカレントディレクトリを移動するときの、もっとの一般的な方法はCD(CHDIR)コマンドを使った方法でしょう。
cdコマンドの使用例は、次のとおりです。
カレントディレクトリをC:\Windowsに変更する:
> cd C:\Windows
異なるドライブのフォルダーへ移動するときは「/d」オプションが必要になります。たとえば、カレントディレクトリがC:\Windowsのときに、カレントディレクトリをD:\Testに移動するときは、次のようにコマンドを実行します。
> cd /d D:\Test
PUSHD、POPDコマンドを使った方法
Windowsコマンドでフォルダーを移動する際のもう一つの方法は、pushdやpopdコマンドを使った方法です。
pushdコマンドでフォルダーを移動するメリットは移動の履歴が保存される点で、popdコマンドを使うことで、履歴を使って簡単に戻ってくることができ、ドライブ間の移動もオプションを付けずに実行でき、共有フォルダーなどのUNCパスも指定できます。
フォルダーの移動を頻繁に行うようなケースでは、cdコマンドよりも便利なときがあります。
pushdコマンドでフォルダーを移動するときは、以下のようにコマンドを実行します。
> pushd <移動先のパス>
cdコマンドと異なるのは、フォルダーを移動する直前に現在のフォルダーパスがスタックと呼ばれる領域に履歴として記録される点で、引数なしでpushdコマンドを実行することで、スタックに記録されている履歴を確認することができます。
pushdでスタックに保存されている履歴は、popdコマンドを使って一つずつ取り出すことができます。たとえば、上の画像のようにpushdに履歴が保存されている状態でpopdコマンドを実行すると、最後にpushdコマンドを実行したときのフォルダーに戻ります。
popdコマンドを実行した後に、もう一度pushdコマンドを実行すれば分かりますが、popdコマンドで取り出した情報はスタックから削除されます。
なお、pushdコマンドで移動先フォルダーに共有フォルダーなどのUNCパスを指定した場合は、自動的にネットワークドライブが割り当てらます。
Set-Locationコマンドレットを使った方法
PowerShellでカレントディレクトリを移動するときは、cdコマンドを使った方法に加えてSet-Locationコマンドレットも使用できます。
Set-Locationコマンドレットの使用例は、次のとおりです。
カレントディレクトリをC:\Windowsに変更する:
PS> Set-Location -Path C:\Windows
Set-Location - PowerShell | Microsoft Learn
エクスプローラーを使った方法
カレントディレクトリを深い階層のフォルダーに移動したいとき、長いパスを記述するのが面倒に感じるときがあります。
そのようなときは、エクスプローラーで、現在開いているフォルダーをカレントディレクトリとしてコマンドプロンプトやPowerShell、Windowsターミナルを開く方法がおすすめです。
フォルダーのパスをコピーして、CDコマンドやSet-Locationコマンドレットで移動するよりも簡単にカレントディレクトリを移動できます。
手順は簡単で、エクスプローラーでカレントディレクトリにしたいフォルダーを開いた状態で、アドレスバーに「cmd」と入力してエンターキーを押せば、そのフォルダーをカレントディレクトリとして、コマンドプロンプトが起動します。
アドレスバーに「powershell」と入力してエンターキーを押せば、そのフォルダーをカレントディレクトリとして、PowerShellが起動します。
Windowsターミナルがインストールされている環境なら、アドレスバーに「wt -d .」と入力してエンターキーを押せば、そのフォルダーをカレントディレクトリとして、Windowsターミナルが起動します。
あとがき
上に紹介したエクスプローラーを使った方法は意外と知られていませんが、深い階層のフォルダーへ移動するときなどで有用です。ご活用あれ。