Windowsバッチファイルで楽をする:まるで魔法!pushdとpopdで簡単にフォルダ移動を実現しよう!

Windows
記事内に広告が含まれています。

まえおき

Windowsのバッチファイルで現在のフォルダを移動する方法(カレントディレクトリ)には、一般的には「cd」コマンドを使用します。
しかし、複数のフォルダを移動する際には、手作業で一つ一つのフォルダを指定する必要があり、手間がかかることがあります。
そこで、今回は「pushd」と「popd」というコマンドを使用することで、便利にフォルダ移動を行う方法をご紹介します!

本題

pushdとpopdの使い方

まずは、pushdとpopdの基本的な使い方をご説明します。

pushd コマンド

pushdコマンドは、指定したフォルダに移動すると同時に、移動前のフォルダのパスをスタックに保存します。
具体的な使い方は以下の通りです。

pushd フォルダのパス

例えば、以下のようにコマンドを入力すると、指定したフォルダに移動し、移動前のフォルダのパスをスタックに保存します。

pushd C:\Users\username\Documents

こうすることで、一時的に指定したフォルダに移動した後でも、元のフォルダに戻ることができます。

popd コマンド

popdコマンドは、スタックに保存されたフォルダのパスを取り出し、そのフォルダに移動します。

具体的な使い方は以下の通りです。

popd

例えば、以下のようにコマンドを入力すると、スタックに保存されたフォルダのパスを取り出し、そのフォルダに移動します。

popd

こうすることで、一度移動したフォルダから元のフォルダに簡単に戻ることができます。

複数のフォルダを移動する場合

pushdとpopdを組み合わせることで、複数のフォルダを簡単に移動することもできます。

例えば、以下のようなバッチファイルを作成してみましょう。

@echo off
pushd C:\Users\username\Documents
echo 現在のフォルダは「%cd%」です
pause

pushd C:\Projects
echo 現在のフォルダは「%cd%」です
pause

pushd D:\Work
echo 現在のフォルダは「%cd%」です
pause

popd
echo 現在のフォルダは「%cd%」です
pause

popd
echo 現在のフォルダは「%cd%」です
pause

popd
echo 現在のフォルダは「%cd%」です
pause

このバッチファイルを実行すると、順番に指定したフォルダに移動していきます。
(わかりやすいようにpauseを入れているのでEnterキーを押すごとに移動していきます)

そして、移動前のフォルダのパスはスタックに保存されます。
そしてpopdコマンドを実行すると、スタックに保存されたフォルダのパスが取り出され、元のフォルダに戻ることができます。
この例では3回pushdで移動したので3回popdすることで一つづつ元のフォルダに戻っていきます。

pushdとpopdを活用したサンプルコード

以下は、実際にpushdとpopdを活用したサンプルコードです。

@echo off
pushd C:\Users\username\Documents

REM ここにファイルの操作や処理を書く

popd

このように、バッチファイルの一部の処理を特定のフォルダで行いたい場合に、pushdとpopdを使用することで、一時的にそのフォルダに移動して処理を実行し、元のフォルダに簡単に戻ることができます。

まとめ

今回は、バッチファイルでフォルダ移動を簡単に実現するための「pushd」と「popd」についてご紹介しました。
通常の「cd」コマンドでは手間がかかる複数のフォルダの移動も、pushdとpopdを組み合わせることでスムーズに行うことができます。
ぜひ、この便利なコマンドを使って、効率的なバッチファイルを作成してみてください!

免責規定

この記事で提供される情報は、一般的なガイダンスを目的としており、すべての環境やシステムでの動作を保証するものではありません。
OSのバージョンやリリースによっては、記載されているコマンドが実行できない、または異なる結果をもたらす可能性があります。
また、会社内のパソコンなどでは、ポリシーや権限によって実行できない場合があります。
実行には管理者権限が必要な場合が多いため、注意が必要です。
この記事の情報を使用することによって生じる問題や結果について、筆者およびサイト管理者は責任を負いません。
すべての操作は自己責任で行ってください。

最後までお読みいただきありがとうございました。
またお会いしましょう!

コメント

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