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分区,生成长文件名时不一定同时生成短文件名,需要测试。