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
- 在以下位置运行 Windows安全模式使用命令提示符确保 Windows 没有使用
Program Files
cd C:\
fsutil file setshortname "Program Files" PROGRA~1