Windowsバッチコマンド『pushd』の使い方を徹底解説!初心者向けに分かりやすく解説

Windowsのバッチファイルを使って作業を自動化する際、「pushd」というコマンドを活用すると、ディレクトリの移動や管理がよりスムーズになります。

「pushd」は、一時的にディレクトリを変更しながら、後で元のディレクトリに簡単に戻ることができる便利なコマンドです。しかし、意外と知られていない機能や応用方法も多く、うまく活用することでバッチ処理の効率が格段に向上します。

本記事では、「pushd」の基本的な使い方から、実際のバッチスクリプトでの活用例までを詳しく解説します。Windowsのバッチ処理をより効率的にしたい方は、ぜひ最後までご覧ください。

1. pushdコマンドとは?基本の仕組みを解説

「pushd」はWindowsのコマンドライン(cmd.exe)で使用できるコマンドの一つで、ディレクトリの変更と同時に、その場所をスタック(後で戻るための記録領域)に保存する機能を持っています。

通常のcdコマンドと異なり、pushdを使用すると後で簡単に元のディレクトリに戻れるのが特徴です。

pushdの基本構文

batchコピーする編集するpushd [ディレクトリのパス]

例えば、C:\Users\Exampleに移動する場合、次のように入力します。

batchコピーする編集するpushd C:\Users\Example

この時点で、現在のディレクトリの情報がスタックに保存されます。


2. pushdとpopdを組み合わせてディレクトリ移動を管理する

pushdで移動した後、元のディレクトリに戻りたい場合はpopdコマンドを使います。

popdの基本構文

batchコピーする編集するpopd

これを実行すると、最後にpushdで移動したディレクトリから元のディレクトリに戻ります。

pushdとpopdを使った基本スクリプト

batchコピーする編集する@echo off
echo 現在のディレクトリ:%CD%
pushd C:\Windows
echo Windowsディレクトリに移動しました:%CD%
popd
echo 元のディレクトリに戻りました:%CD%

このスクリプトを実行すると、C:\Windows に移動し、作業後に元のディレクトリに戻る動作を確認できます。


3. pushdの便利な活用方法(ネットワークドライブの利用)

pushdの便利な点の一つに、ネットワークドライブの自動マッピングがあります。
通常、ネットワークパス(UNCパス)を直接cdで指定するとエラーになりますが、pushdを使うことで、ドライブとしてマウントされ、アクセス可能になります。

ネットワークドライブをマウントする方法

batchコピーする編集するpushd \\192.168.1.1\shared_folder

このコマンドを実行すると、Windowsが自動で空いているドライブレター(例: Z:)を割り当て、そのフォルダに移動します。
終了後、popdを実行すると、自動的にこのドライブの割り当ても解除されます。

ネットワークフォルダを利用したスクリプト

batchコピーする編集する@echo off
pushd \\192.168.1.1\shared_folder
echo ネットワークフォルダに移動しました
dir
popd
echo ネットワークフォルダから戻りました

このスクリプトでは、ネットワークフォルダ内のファイル一覧を表示した後、自動的に元のディレクトリに戻ります。


4. pushdとcdの違いを比較

pushdは単なるディレクトリ移動ではなく、スタックを活用するため、複数のディレクトリを行き来する場合に便利です。

コマンド役割戻る機能
cd指定ディレクトリに移動なし
pushd指定ディレクトリに移動(スタックに保存)popdで元のディレクトリに戻れる
popdpushdで移動したディレクトリから元の場所に戻るなし

例えば、以下のようにpushdを使うと、複数のディレクトリを行き来しやすくなります。

batchコピーする編集するpushd C:\Windows
pushd C:\Users
popd  REM → C:\Windows に戻る
popd  REM → 元のディレクトリに戻る

このように、pushdとpopdをセットで使うと、移動履歴を活かした作業が可能になります。


5. pushdを使ったバッチファイルの応用例

pushdは単なる移動コマンドではなく、バッチ処理をより柔軟にするために活用できます。

複数のディレクトリで作業するスクリプト

batchコピーする編集する@echo off
pushd C:\Users\Public
echo 現在のディレクトリ:%CD%
dir > public_files.txt
popd
echo 作業完了

このスクリプトは、C:\Users\Public に移動して、そこにあるファイル一覧をpublic_files.txtに保存し、元のディレクトリに戻る動作をします。

ネットワークフォルダにアクセスしてファイルをコピー

batchコピーする編集する@echo off
pushd \\192.168.1.10\backup
copy important_data.txt C:\Backup
popd
echo バックアップ完了

このスクリプトは、ネットワークフォルダにあるimportant_data.txtをローカルのC:\Backupにコピーする処理を行います。


まとめ

Windowsのバッチコマンド「pushd」は、単なるディレクトリ移動ではなく、スタックを利用した効率的なディレクトリ管理が可能な便利なコマンドです。

  • pushdはスタックにディレクトリ情報を記録しながら移動できる
  • popdと組み合わせると、元のディレクトリに簡単に戻れる
  • ネットワークドライブの自動マッピングにも使える
  • 複数のディレクトリを行き来するバッチスクリプトに活用できる

pushdをうまく活用することで、バッチ処理の効率を大幅に向上させることができます。ぜひ実際に試してみてください!

タイトルとURLをコピーしました