我们的 FoxPro for DOS 2.6 (FPD) 应用程序在运行于 Small Business Server 2011(基于 SBS 2008 平台,均为 64 位)的 Windows XP Pro 或 Win 7(32 位)工作站上运行时,显然无法识别长度超过 8 个字符的文件名。我们之前已在 64 位 SBS 2008 上成功测试了 FPD 应用程序。我们的 Op Sys/Server IT 人员表示,将 SBS 2011 置于两者之间应该不会产生任何影响。
随着 Windows 软件围绕 FPD 应用程序进行了升级(并且它进一步脱离了 DOS),我们遇到了类似的文件名引用问题,我们需要将较长的文件夹和文件名(如“My Documents”)显示为“MyDocu~1”。当时,Cmd(类似 DOS 的 Windows 命令窗口)也会识别该缩短的引用。但现在,Cmd 只能识别完整的长名称。如果您在 Fox 中打开“打开文件”对话框,则只会显示具有短(8 个字符)名称的文件/文件夹。尝试打开具有长文件名的文件将导致未找到错误。
谁能说说为什么我们原来的 64 位测试显示不同的结果以及最简单的解决方法是什么?
答案1
fsutil 8dot3name set 0
将在所有卷上启用短文件名的创建。从提升的命令提示符运行此命令后,您将需要重新启动。这篇 Technet 文章介绍了幕后的变化以及其他可用的选项。
默认情况下,较新版本的 Windows(显然包括 SBS2011)并未启用 8.3 文件名创建。
请记住该文章中的这段代码:
更改此值不会更改文件,但会更改 NTFS 显示和管理文件的方式。此外,文件将根据创建时此项指定的规则命名;更改此项不会改变现有文件的名称。
您需要重新创建 FPD 应用程序需要访问的所有文件。复制和粘贴可能就足够了。