「cd」ではなく「pushd」を使う

コマンドプロンプトは古い設計で構築しているため、ネットワーク周りの機能が弱い。歴史をさかのぼれば、Microsoftがネットワークに積極的でなかった背景もあるが、とかく困るのが共有フォルダーへのアクセスだ。

  • コマンドプロンプトはUNCパスをサポートしていないためエラーになる

UNCパス(いわゆる「¥¥マシン名¥共有名¥……」という記述方式)をサポートしていないコマンドプロンプトから共有フォルダへアクセスするのは、一見すると手詰まりに思えるが、Unix/Linuxユーザーであればおなじみの「pushd」コマンドを使って容易に解決できる。同コマンドで共有フォルダーにアクセスすると、自動的にネットワークドライブを割り当て、カレントディレクトリーとして利用可能になる。さらに割り当てたネットワークドライブは「popd」コマンドを使えば自動解除する仕組みだ。

  • 「cd」の代わりに「pushd」を使えば、共有フォルダーをカレントディレクトリとして使用できる

コマンドラインに馴染みのない方に両コマンドの概要を説明すると、pushdはディレクトリをメモリ上にスタック(記憶)し、カレントディレクトリを変更するコマンド。popdはスタックした情報を元に以前のディレクトリに移動するコマンドである。ちなみにWindows PowerShellはこのような使い分けを行う必要はない。cdコマンド自体がUNCパスをサポートしているからだ。

  • Windows PowerShellの「cd」コマンドはUNCパスをサポートしている

阿久津良和(Cactus)