Windows TIPS
| [User Interface] |
pushd/popdでフォルダを移動する
デジタルアドバンテージ 打越 浩幸
2006/09/16 |
|
| 対象OS |
| Windows 2000 |
| Windows XP |
| Windows Server 2003 |
|
|
 |
| ■ |
cdコマンドで移動すると履歴が残らず、元のフォルダへ戻るのが面倒である。 |
| ■ |
pushdコマンドで移動すると、履歴がスタックに残り、popdコマンドで簡単に戻ってくることができる。 |
| ■ |
引数なしでpushdコマンドを実行すると、履歴が表示される。 |
|
|
コマンド・プロンプト上で作業をする場合、あちこちのフォルダへ移動しながらファイルを操作したり、コマンドを実行したりすることが多い。Windows OSに限らず、コマンドや設定ファイル、ログ・ファイルなどは複数のフォルダに分かれて置かれているため、このような移動は避けられない。もしフォルダを移動せずに作業しようとすると、すべてのファイル・パスをフルパスで指定しなければならず、とても煩わしくなるからだ。
cdではなく、pushdコマンドで移動する
フォルダを移動する場合、コマンド・プロンプトでは「cd」コマンドを利用する。引数に移動したい先のフォルダ名を指定することにより、カレント・フォルダ(UNIX流に言えばカレント・ディレクトリ)が、指定されたフォルダに変わる(移動する)。
だがcdで移動する場合、元のフォルダへ戻る簡単な方法がない。別のフォルダへ移動して作業し、その後また元のフォルダへ戻って作業を続けるというのはよくある状況だが、cdを利用する場合、元のフォルダへ戻るには、元の場所を憶えておいて、「cd 元の場所」というコマンドを実行しなければならない。
このような場合はcdの代わりにpushd(プッシュ・ディレクトリ)コマンドを利用するとよい。使い方はcdコマンドと同じく、「pushd 移動先」とすればよい。これを実行すると、cdコマンドと同様に、カレント・フォルダが指定されたフォルダになる。しかし移動の直前に、現在のカレント・フォルダの情報が「ディレクトリ・スタック」と呼ばれる(cmd.exeの)内部的なスタックに積まれる。引数なしでpushdを実行すると、このスタックに積まれているエントリ(カレント・フォルダの履歴)の一覧が表示される。
popdで元のフォルダへ戻る
pushdでスタックに積まれたカレント・フォルダの履歴情報は、popd(ポップ・ディレクトリ)コマンドで1つずつ取り出し、元の場所へ戻ることができる。popdコマンドには引数はなく、単にpopdというコマンドを実行すればよい。すると、カレント・フォルダが、pushdで保存されていた場所へ戻る。pushdの結果はスタックになっているので、popdを連続して実行すれば、順番に元のフォルダへ戻ることができる。ただし最初の場所まで戻ると(ディレクトリ・スタックが空だと)、popdしてもカレント・フォルダは変化しない。
C:\Documents and Settings\Administrator>cd …最初の場所は?
C:\Documents and Settings\Administrator
C:\Documents and Settings\Administrator>pushd c:\ …c:\へ移動
C:\>pushd WINDOWS …C:\WINDOWSへ移動
C:\WINDOWS>pushd system32 …C:\WINDOWS\system32へ移動
C:\WINDOWS\system32>pushd "C:\Program Files\Microsoft Office" …C:\Program Files\Microsoft Officeへ移動
C:\Program Files\Microsoft Office>pushd f:\PRJ\Program …F:\PRJ\Programへ移動
F:\PRJ\Program>pushd …pushdの履歴
C:\Program Files\Microsoft Office …スタックの一番上
C:\WINDOWS\system32
C:\WINDOWS
C:\
C:\Documents and Settings\Administrator …スタックの一番下
F:\PRJ\Program>popd …(直前の)元のフォルダへ復帰
C:\Program Files\Microsoft Office>popd …元のフォルダへ復帰
C:\WINDOWS\system32>popd …元のフォルダへ復帰
C:\WINDOWS>popd …元のフォルダへ復帰
C:\>popd …元のフォルダへ復帰
C:\Documents and Settings\Administrator>popd …元のフォルダへ復帰
C:\Documents and Settings\Administrator> …これ以上戻らない |
このように、pushd/popdを使えば、元のフォルダへ簡単に戻れるし、同一ドライブ上だけでなく、別のドライブ上のカレント・フォルダへ移動したり、そこから戻ったりできる。
なおUNIXなどでは、ディレクトリ・スタックの先頭の2つのエントリを交換する機能があるが(現在のカレント・フォルダと、1つ前のカレント・フォルダを交換する。何度も繰り返すと、それらの間で素早く、行ったり来たりできる)、Windows OSのpushdにはそのような機能はない。引数なしで実行すると、ディレクトリ・スタックの内容が表示される。
pushdでUNCを指定する
pushdの引数として、\\server1\usr\user01\commandのようなUNCパスを指定すると、Windows OSでは、適当な空きドライブに指定されたドライブ文字をマップし、そのドライブに移動してカレント・フォルダを設定する、という機能がある。「net use * \\server1\usr」「pushd \user01\command」というコマンドを連続で実行したのとほぼ同じ効果がある。この場合、popdを実行すると、元のフォルダへ戻るだけでなく、ドライブのマップも解除される。
C:\>pushd \\server1\usr\user01\command …UNCでpushdする
Z:\user01\command> …移動先。Z:ドライブにマップされている
Z:\user01\command>net use …マップの状況
新しい接続は記憶されません。
ステータス ローカル名 リモート名 ネットワーク名
------------------------------------------------------------
OK Z: \\Server1\usr Microsoft Windows Network
コマンドは正常に終了しました。
Z:\user01\command>popd …popdで戻る
C:\> …元の場所 |
|
この記事と関連性の高い別のWindows TIPS |
|
|
generated by
|
|
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ

**先週の人気講座ランキング**
〜 Android編 〜