^ によるquoteについて

昨日の記事において、

call echo %%%A%%%

と書いたが、この時、^% をquote出来るのでは?と思って、

call echo ^%%A%^%

としてみた(sh だと、eval echo \$$A に相当)ところ、表示されるのは、A だけである。
どうも、^ によるquote処理より、%による展開のほうが先に行われるためのようだ。% による展開後、call echo ^%A となり(注1)、^ によるquote処理でこれが call echo %A となり、さらに call によるeval処理で echo A となり、これが実行されて A が表示される。
(注1: %% が % になり、%^% が空になる)

^ より % が早いことは、下記で行が継続することでも確認できる。

set A=^^
echo aaa%A%
bbb