これは愚かなくだらない質問かもしれませんし、答えを見つけるために他の場所を探したと思うのですが…。パスの問題かもしれませんが、コマンドラインを開いてC:\>
から入力すると
cd D:\
Dドライブに行けない。タイプしても
cd D:\<folder name>
command.exe
はタブキーで行を自動補完してくれるので、自分がどこにいるのかを知っています。ただ、結果を表示するために印刷したり、実際にそこにたどり着いたりすることはありません。この問題はネットワークドライブにも存在します
さて、このようにchdir
(cd
)コマンドを使うと
chdir D:
またはcd d:
の場合
コマンドの下にあるD:\
のプリントアウトは出るけど、C:\
の中にいるとまだ書いてある
なんか単純に物足りなさを感じます
261 None 2010-04-27
DOSの時代に戻りますが、ドライブごとに別々の「カレントディレクトリ」があります。cd D:\foldername
は D: のカレントディレクトリを指定されたフォルダ名に変更しますが、C:
ドライブで作業しているという事実は変わりません
欲しいものはシンプルに
D:
ここでは、「各ドライブごとにカレントディレクトリを分ける」ということがどのように機能するかを見ることができます
C:\Users\coneslayer>e:
E:\>c:
C:\Users\coneslayer>cd e:\software
C:\Users\coneslayer>e:
e:\Software>
364 coneslayer 2010-04-27
コマンドが動作するように設計されているので、動作しました
単に実際にどうやって動くのかを知らないだけでしょう
UnixやLinuxのシェルプログラムを使っているわけではありません。Microsoft のコマンドインタプリタの cd
コマンドは、そのようなシェルの cd
コマンドのようには動作しません。挙動が多少異なります。特に、常にディレクトリを変更するわけではありません。UnixやLinuxシェルでは、cd
は作業ディレクトリを設定するだけです。Microsoftのコマンドインタプリタでは、cd
は時々それを問い合わせます。別個のpwd
コマンドはないので、cd
は二つの仕事をします
引数を与えない場合、またはパスなしのドライブ文字とコロンだけの引数を与えた場合、カレントディレクトリを変更せずに報告します。引数を与えない場合は、コマンドインタプリタプロセスのカレントドライブのカレントディレクトリを報告します。引数にドライブ文字とコロンのみを与えた場合は、そのドライブのカレントディレクトリを報告します。各ドライブは、コマンドインタプリタのカレントディレクトリを持っています。(これは、マイクロソフトや他のいくつかのベンダーの様々なプログラミング言語の実装のためのランタイムライブラリによって維持されているフィクションです。Win32自体はこのようには動作しません)。)
つまり、引数として d:
を与えると、D ドライブ上のコマンドインタプリタプロセスのカレントディレクトリが D:\
であることを報告してくれます。もし引数を与えていなければ、C:\
を報告していたでしょう
cd
コマンドを常にセットモードにして、クエリモードにしないようにしたい場合は、/D
オプションを追加する必要があります。これにより、コマンドは常にセットモードになるように強制され、また、ドライブのカレントディレクトリを変更するだけでなく、カレントドライブを変更するように拡張されます。(言い換えれば、基礎となる Win32 API が実際に行うのと同じように動作するように拡張されています)
そのため、例えば、コマンドライン
cd /d d:
は、ディレクトリをDドライブ上のカレントディレクトリが何であれ、現在のドライブをDドライブに変更します
そうでなければ、コマンドインタプリタプロセスの現在のドライブを変更したい場合は、cd
コマンドは方法ではありません。ドライブ文字とコロン:
d:
を入力するだけで変更できます
Further reading
- JP Software (2011).CD/CHDIR TCC オンラインヘルプ
- マイクロソフト株式会社 (2001).Chdir (CD).TechNet Windows XP コマンドラインリファレンス A-Z
80 JdeBP 2012-01-19
これは間違っているのではないかと心配です。DOSの時代からそうなのですが、Windows NT以降のコマンドラインはDOSではありません。今では誰もが使っているコマンドラインには/dスイッチがあります。/dスイッチは、指定したドライブのカレントディレクトリを変更して、そのディレクトリに変更します。/dスイッチはパスの前に指定しなければなりません。例えば
C:\> cd /d D:\foo\bar\
D:\foo\bar\>
61 Multiverse IT 2010-04-27
CDはChange Directoryの略で、Change Driveではありません。そのため、そのようにD:に変更されることはありません。これを実現するには、単にドライブの文字を入力する必要があります
e.g.
d:
20 IUnknown 2012-01-19
cmd.exeの作業ディレクトリはvolume-by-volume
ベースで管理されており、C:
ドライブの作業ディレクトリはD:
ドライブの作業ディレクトリとは異なります
cd
にドライブ文字のみを渡すと、指定したドライブの作業ディレクトリを表示します
あなたの場合、D:
ドライブの作業ディレクトリは、ボリュームルートそのものであるD:\
です
ボリュームをC:
からD:
に変更するには、ドライブ文字を入力するだけです
C:\>D:
D:\>
9 Andrew Lambert 2012-01-19
cd /D D: を使用してください。パスを指定することもできます
9 Michael S. 2012-01-19
DOSコマンドプロンプトでドライブを変更したい場合は、単に書き込むだけです
[Drive Letter]:
例えば、D:\ドライブに移動したい場合は、コマンドプロンプトに以下のように入力するだけです
D:
5 Darsak 2012-01-19
pushd
は、D:\Tests\Logs
のようにサブディレクトリに移動する必要がある場合でも動作します
そうやって使えばいいんだよ
pushd D:\Tests\Logs
前のディレクトリに戻りたい場合は popd
を使用してください
C:\Users>pushd D:\Tests\Logs
D:\Tests\Logs>popd
C:\Users>
2 BladeMight 2016-07-27
あなたは、ツールバーの検索オプションに行くとcmdを検索するか、またはWindowsのすべてのアプリを選択してコマンドプロンプトを選択することによって、それはいくつかの他のコマンドプロンプトにかかりますが。代わりにWindowsボタンを押してみてください + Rとcmdを検索すると、それはC:>ドライブにかかります。そこからD:>または必要な場所に移動することができます
0 user609712 2016-06-23