pushd

popd コマンドで使うために現在のディレクトリを格納し、その後、指定したディレクトリに変更します。

pushd コマンドを実行するたびに、使用するディレクトリが 1 つずつ格納されます。 ただし、pushd コマンドを複数回使うことで、複数のディレクトリを格納することができます。 ディレクトリは仮想スタックに連続して格納されるため、pushd コマンドを 1 回使用すると、コマンドを使用するディレクトリがスタックの一番下に配置されます。 コマンドを再度使用すると、2 つ目のディレクトリが最初のディレクトリの上に配置されます。 このプロセスは、pushd コマンドを使用するたびに繰り返されます。

popd コマンドを使用すると、スタックの一番上にあるディレクトリが削除され、現在のディレクトリがそのディレクトリに変更されます。 popd コマンドを再度使用すると、スタック上の次のディレクトリが削除されます。 コマンド拡張機能が有効になっている場合、popd コマンドは、pushd コマンドによって作成されたドライブ文字の割り当てを削除します。

構文

pushd [<path>]

パラメーター

パラメーター 説明
<path> 現在のディレクトリにするディレクトリを指定します。 このコマンドは相対パスに対応しています。
/? コマンド プロンプトにヘルプを表示します。

解説

  • コマンド拡張機能が有効な場合、pushd コマンドは、ネットワーク パスまたはローカルのドライブ文字とパスのいずれかを受け付けます。

  • ネットワーク パスを指定した場合、pushd コマンドは指定されたネットワーク リソースに最も高い未使用のドライブ文字 (Z: で始まる) を一時的に割り当てます。 このコマンドは、現在のドライブとディレクトリを、新しく割り当てられたドライブ上の指定されたディレクトリに変更します。 コマンド拡張機能を有効にして popd コマンドを使った場合、popd コマンドは pushd で作成したドライブ文字の割り当てを解除します。

バッチ プログラムで実行されたディレクトリから現在のディレクトリを変更し、それを元に戻すには、次のようにします。

@echo off
rem This batch file deletes all .txt files in a specified directory
pushd %1
del *.txt
popd
cls
echo All text files deleted in the %1 directory