質問: windowsのコマンドラインで "cd .."が機能するのはなぜですか? cdとcd..の間にスペースを入れずに..と入力すると、windowsのコマンドプロンプトで親フォルダに切り替わります。この動作についての説明はありますか?コマンドがcommand<space>argumentsの標準フォーマットに従っていません また、なぜこれが一貫した結果を生み出さないのでしょうか。
回答: 具体的には、コマンド名とその引数はスペースで区切る必要があるとしますが、これは正しくありません。呼び出しが明確に解釈できる限り、呼び出しは有効です。この場合、最初の引数は.で始まり、.をコマンド名の一部にすることはできないため、cdと..は単純に2つの別々のトークンとして解析されます。通常、あなたの最初の引数はアルファベット文字(例えばパスの始め)で始まるでしょう、それでそれはあなたのコマンド名の中に "にじみ"エラーを起こすでしょう...しかしそれは構文の問題ではありません。それは意味論的なものです。echoを含む他のコマンドでも同じ効果があります。echo... .. この場合、 echoコマンド自体には特別な規則 があるため、ピリオドは2つしかありません。そのため、次のようになります。echo . あるいは、これを拡張すると、echo. 空行のみを出力します。それは便利です。どうやらそれは議論の先頭の期間を無視することによって実装されています。こんにちは、これはdos/batchです。あなたは正気が欲しい? :d