C:\Program Files 缺少什么短路径?我该如何将其添加回来?

C:\Program Files 缺少什么短路径?我该如何将其添加回来?

Windows 7(32 位)

我有一个应用程序需要 Program Files 下子目录 (c:\Program Files\Foo Example\Foo Example2) 的短路径语法。

在我的大多数用户系统中,它默认启用并且工作正常。然而,在部分用户中,它被禁用(我不确定为什么,因为每个人都使用一个通用图像)。

我尝试通过fsutil 8dot3name set 0(使用管理员权限从命令提示符)启用它。该命令似乎运行良好(没有错误)。但当我尝试实际创建简称时,我得到了:

C:\>fsutil file setshortname "Program Files" PROGRA~1
Error: Access is denied.

关于如何调试这个问题并确定为什么 Windows 不允许我添加这个,您有什么想法吗?有没有我可以检查的错误日志?

更新

根据要求,以下是我输入时看到的内容DIR P* /X

C:\>DIR P* /X
Volume in drive C has no label.
Volume Serial Number is XXXX-XXXX

Directory of C:\

07/13/2009  10:20 PM    <DIR>                       PerfLogs
03/13/2014  02:47 PM    <DIR>                       Program Files
03/13/2014  02:48 PM    <DIR>                       Program Files (x86)

              0 File(s)        0 bytes
              3 Dir(s)  412,723,027,968 bytes free

答案1

您不需要创建简称;它已经存在了。

要验证它是否为“PROGRA~1”或确定它是什么,请使用 DIR 命令,即

CD \
DIR P* /X

它将显示与每个以“P”开头的顶级文件夹名称相关的简称。

由于“Program Files”和“Program Files (X86)”是受保护的位置,系统不会允许您更改与这些文件夹关联的短名称,但没有理由您不能使用系统本身已定义的短名称。

此外,您的命令是针对文件的,并且您正在管理目录(从某种意义上说是文件,但不是 FSUTIL。)

答案2

  1. 在以下位置运行 Windows安全模式使用命令提示符确保 Windows 没有使用Program Files
  2. cd C:\
  3. fsutil file setshortname "Program Files" PROGRA~1

相关内容