1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Windowsのcmd.exeのcdついて少しまとめておく

Posted at

Windowsのcmd.exe(コマンドプロンプト)にも、もちろんcd(Change Directory)コマンドがある。
そもそもWindowsはディレクトリじゃなくてフォルダだろ、とかそういう話はさておき。←Windowsのディレクトリはディスク上の物理的な保存場所の区切りのことです。

で、このcdにはいくつか、Linuxなどのbash、zshとの相違点がある。

一つ目は、cdと引数を何も与えず実行した場合だ。bashなどだと、環境変数HOMEで指定されたディレクトリへ瞬時に移動できて結構便利なのだが、マイクロなんたらがそんな機能を実装しているわけがない。
こんな結果になる。


C:\Users\alucky0707>cd
C:\Users\alucky0707

Qiitaがハイライトに対応していないせいでわかりづらくなっているが、一行目がプロンプト、二行目がその結果だ。
この場合、C:\Users\alucky0707というディレクトリでcdを実行した結果、C:\Users\alucky0707という文字列が返ってきている。
――つまり、無引数のcdは現在いるディレクトリを返す、ということだ。

cmd.exeを使っていてホームディレクトリ(ユーザーフォルダ)に戻りたくなるシチュエーションがあまり思いつかないが、bashみたいな挙動を期待すると涙をのむことになるので注意。

他には、ドライブ間を移動したいときに、Windowsにはデバイスファイルなんてないので、


C:\Users\alucky0707>cd /d D:

D:\>

のように/dオプション(奇妙に見えるかもしれないが、cmd.exeやWindowsのコマンド全般のオプションは/から始まる値として与える)を付けてドライブ名から絶対パスを入力する必要がある。

ちなみに、/d/Dでもよくて、さらに/Dのあとに空白が無くても正しく動くので、


C:\Users\alucky0707>cd /DD:

などと打っても期待した動作になる。

あと、これは有名な話だが、Windowsのcmd.exe、というかファイルシステムはアクセス時に大文字小文字を区別しない。これは多分DOS時代の名残なんだろうが、あまりいい仕様ではないと思う。
こればっかりはどうしようもないが。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?