コマンドプロンプトでイコールを含む名前の変数が定義できることがある理由


以下はWindowsのコマンドプロンプトで行った入力とその出力です（`>`の行が入力）。

[code]

    >ver
    
    Microsoft Windows [Version 10.0.17134.407]
    
    >set FOO=BAR=BAZ
    
    >echo %FOO%
    BAR=BAZ
    
    >echo %FOO=BAR%
    BAZ
    
    >set BAZ=BAR=FOO
    
    >echo %BAZ%
    BAR=FOO
    
    >echo %BAZ=BAR%
    %BAZ=BAR%
    
[/code]

なぜ`echo %FOO=BAR%`で`BAZ`が返って`echo %BAZ=BAR%`で`FOO`が返らないのでしょうか？  
（どちらかというと後者の方が正しい動きに思えますが……バグ？ 未定義動作？）




windows10 1803で再現しましたが、windows7やW10 1809では再現しません。こっそり直したのでしょうか。




windows10 1803で再現しましたが、windows7やW10 1809では再現しません。こっそり直したのでしょうか。

