forコマンドの変数で参照できるファイルの属性について

たぶんWindows 2000からだと思うけど、forコマンドの変数に修飾子をつけることで、ファイルの属性がわかる。例えば変数名が%Iの場合、%~aIのようにする。
でも、このとき%~aIがどのように展開されるのかについては、マイクロソフトは文書化してないようだ。そこで、次のOSで実際に試してみた。

結果はこうなった。

C:> dir /a
 ドライブ C のボリューム ラベルは ABADCAFE です
 ボリューム シリアル番号は CAFE-BABE です

 C:\Documents and Settings\DEADBEEF\My Documents のディレクトリ

2006/05/21 (日)  00:00    <DIR>          .
2006/05/21 (日)  00:00    <DIR>          ..
2006/05/21 (日)  00:00    <JUNCTION>     alias
2006/05/21 (日)  00:00                 0 archive
2006/05/21 (日)  00:00                 0 compressed
2006/05/21 (日)  00:00    <DIR>          directory
2006/05/21 (日)  00:00                 0 hidden
2006/05/21 (日)  00:00                 0 readonly
2006/05/21 (日)  00:00                 0 system
               5 個のファイル                   0 バイト
               4 個のディレクトリ   1,234,567,890 バイトの空き領域

C:> for %F in (directory readonly archive hidden system compressed alias) do @echo %~aF %F
d-------- directory
-r------- readonly
--a------ archive
---h----- hidden
----s---- system
-----c--- compressed
d-------l alias

C:> 

つまり、こういうことのようだ。

位置 文字 意味
1 d ディレクト
2 r 読み取り専用
3 a アーカイブ
4 h 隠しファイル
5 s システムファイル
6 c 圧縮
7 ? (不明)
8 ? (不明)
9 l リパースポイント

リパースポイントとは、マウントポイントや接合点(ジャンクション)などのことを言う…ハズ。mountvolコマンドやjunctionコマンドなどで作成できる。詳しくはよく知らない。

7文字目と8文字目については、常に-だった。暗号化やスパースファイルを試したが変化せず、NULなどのデバイス名や\\?\Volume{abadcafe-cafe-babe-dead-beef00031337}\といったボリューム名ではそもそも展開すらされなかった。
困ったのでぐぐってみたが、あんまりいいものはなかった。

もしかしたら、7文字目と8文字目は将来のために予約してるのかもしれない。謎である。