1.21 恢复Win10对8.3格式文件名的支持
https://scz.617.cn/windows/202204021625.txt
Q:
Win7缺省生成8.3格式文件名,Win10缺省不生成8.3格式文件名,如何改变这种行为?
A:
出于各种原因,并不建议恢复Win10对8.3格式文件名的支持,但如果确有理由,是可 以恢复这种行为的。
查询全局设置
$ fsutil 8dot3name query $ fsutil behavior query Disable8dot3
The registry state is: 2 (Per volume setting - the default).
全局设置有4种值
0 全局启用8.3 1 全局禁用8.3 2 允许各Volume有自己的8.3设置 3 系统卷启用8.3,其余卷禁用8.3
获取目标盘的"Volume{GUID}"
$ mountvol X:\ /L \?\Volume{7569e44c-e279-4e1e-9fec-44e04334ba83}\
查询特定"Volume{GUID}"或盘符的设置,任一命令均可
$ fsutil 8dot3name query X: $ fsutil 8dot3name query Volume{7569e44c-e279-4e1e-9fec-44e04334ba83} $ fsutil behavior query Disable8dot3 Volume{7569e44c-e279-4e1e-9fec-44e04334ba83}
The volume state is: 1 (8dot3 name creation is disabled). The registry state is: 2 (Per volume setting - the default).
Based on the above two settings, 8dot3 name creation is disabled on Volume{7569e44c-e279-4e1e-9fec-44e04334ba83}
修改特定"Volume{GUID}"或盘符的设置,启用8.3格式,任一命令均可
$ fsutil 8dot3name set X: 0 $ fsutil 8dot3name set Volume{7569e44c-e279-4e1e-9fec-44e04334ba83} 0 $ fsutil behavior set Disable8dot3 Volume{7569e44c-e279-4e1e-9fec-44e04334ba83} 0
Successfully enabled 8dot3name generation on X:
修改全局设置,启用8.3格式
fsutil behavior set Disable8dot3 0
启用8.3格式只影响之后新建文件,不影响已存在文件,但可以给已存在文件追加8.3 格式文件名。
fsutil file setshortname
假设启用过8.3,rename旧文件名到一个临时名字,再rename回去,并不会给已存在 文件追加8.3格式文件名。依次复制、删除、改名可以达到目的。
全局设置的注册表项所在
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem] "NtfsDisable8dot3NameCreation"=dword:00000002
reg.exe query "HKLM\SYSTEM\CurrentControlSet\Control\FileSystem" /v "NtfsDisable8dot3NameCreation"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem NtfsDisable8dot3NameCreation REG_DWORD 0x2
全局8.3设置在注册表中,卷的8.3设置应该是在NTFS分区中,不在注册表中,重新格 式化导致卷的8.3设置恢复到默认状态。
在WSL1中访问NTFS分区,生成长文件名时是否同时生成短文件名,受前述设置影响。 但在Linux下访问NTFS分区,生成长文件名时不一定同时生成短文件名,需要测试。