Что такое короткий путь для 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
2 ответа
Вам не нужно создавать короткое имя; это уже там.
Чтобы убедиться, что это "PROGRA~1" или определить, что это такое, используйте команду DIR, т.е.
CD \
DIR P* /X
который покажет вам короткие имена, связанные с каждым именем папки верхнего уровня, начинающимся с "P".
Поскольку "Program Files" и "Program Files (X86)" являются защищенными расположениями, система не позволит вам изменить короткое имя, связанное с этими папками, но нет причины, по которой вы не можете использовать короткие имена, уже определенные Сама система.
Кроме того, ваша команда предназначена для файлов, и вы управляете каталогами (которые в некотором смысле являются файлами, но не FSUTIL.)
- Запустите Windows в безопасном режиме с командной строкой, чтобы убедиться, что Windows не использует
Program Files
cd C:\
fsutil file setshortname "Program Files" PROGRA~1