コマンドライン分割の規則(空白・引用符・バックスラッシュ)
Windowsのコマンドライン文字列を引数に分割する規則。空白とタブで区切り、二重引用符で囲んだ範囲は区切らず、バックスラッシュは直後に二重引用符が来るときだけ特別扱いされる(2n個ならn個と囲みの開閉、2n+1個ならn個と文字としての引用符)。
- 概念URI
https://comcomponent.com/knowledge/command-line-backslash-quote-rule/
- 別名・表記
- 2n / 2n+1 バックスラッシュ規則
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- CommandLineToArgvWはコマンドライン分割の規則(空白・引用符・バックスラッシュ)の実装を担います。CommandLineToArgvWは、引用符の中モードの切り替えと、二重引用符の直前のバックスラッシュを2n個ならn個と囲みの開閉、2n+1個ならn個と文字の引用符として扱う規則で文字列を分割する。 / 確度: 確立した関係 / 確認日: 2026-09-02 出典
- Cランタイムの引数分割(argv生成)はコマンドライン分割の規則(空白・引用符・バックスラッシュ)の実装を担います。MSVCのCランタイム起動コードは、空白とタブによる区切り、引用符による囲み、偶数個・奇数個のバックスラッシュと引用符の規則に従ってargvを作る。mainではargvが現在のコードページに変換された狭い文字列になるため、コードページで表せない文字は失われる。 / 確度: 条件付きの関係 / 確認日: 2026-09-02 出典
- .NETランタイムの引数分割はコマンドライン分割の規則(空白・引用符・バックスラッシュ)の実装を担います。.NETランタイム自身の分割コードは、MSVCのmain関数のドキュメントに記された規則に従って実装されている。apphostやdotnet.exeで起動した通常の構成ではホストのCランタイム起動コードが同じ規則で分割する。Environment.GetCommandLineArgsのドキュメントも同じバックスラッシュと引用符の規則を示している。 / 確度: 確立した関係 / 確認日: 2026-09-02 出典 出典
- コマンドライン分割の規則(空白・引用符・バックスラッシュ)は末尾バックスラッシュによる引数の巻き込みの原因になることがあります。末尾がバックスラッシュのパスをそのまま引用符で囲むと、閉じ引用符の直前が奇数個のバックスラッシュになり、引用符が文字として解釈されて囲みが閉じず、後続の引数まで1つに巻き込まれる。空白を含まず引用符で囲まない場合は起きない。 / 確度: 条件付きの関係 / 確認日: 2026-09-02 出典 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。