Skip to content

Instantly share code, notes, and snippets.

@hymkor
Created March 17, 2026 05:46
Show Gist options
  • Select an option

  • Save hymkor/0930ba203c63b35907303b64ebf61ff1 to your computer and use it in GitHub Desktop.

Select an option

Save hymkor/0930ba203c63b35907303b64ebf61ff1 to your computer and use it in GitHub Desktop.
CMD.exe のひみつ(覚書き)
  • Windows のカレントディレクトリは全ドライブ中でひとつしかないが、DOS では各ドライブごとにひとつカレントディレクトリがあった。 CMD.EXE では、DOS の挙動をエミュレートするために、A: ドライブのカレントディレクトリを C: という環境変数に C: のドライブ固有のカレントディレクトリを記憶させている。

  • Windows での標準ディレクトリ区切り文字は \ (backslash)だが、/(forwardslash)も使えることが多い。 実行ファイル名指定には / が一応使えないが、二重引用符で囲むと / も使えるようになる。 おそらく / は(UNIXでの - のような)オプションのプリフィックス文字という役割があり、 二重引用符で囲むとそのチェックが外れるのではないかと思われる。

  • SET "NAME=VALUE" と記すと環境変数NAMEの中に VALUE前後に余計な空白が含まれなくなる。 この書き方は bash の export でも使えるので、Makefile で Windows ならば SET=set、 それ以外ならば SET=export として、$(SET) "VAR=VALUE" とすると、ポータブルな環境変数設定文になる

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment