Windows 7 Отсутствуют короткие имена - PullRequest
2 голосов
/ 19 марта 2010

Я заметил, что если вы получаете объект Scripting.File из определенных файлов Windows (например, любой wav в C: \ Windows \ Media), свойство Scripting.File.ShortPath показывает длинный путь. Любопытно, что я зашел в командную строку и попробовал Dir / A / X, и, конечно же, короткие пути отсутствовали во всех файлах в этом каталоге.

Кто-нибудь знает:
A.) О чем это все?
B.) Как получить короткий путь к файлу, который, кажется, не имеет такого файла?

Ответы [ 2 ]

6 голосов
/ 19 марта 2010

A) NTFS не обязательно должна содержать короткие пути (на самом деле есть раздел реестра , чтобы постоянно его отключать). Похоже, по какой-то причине нет коротких имен файлов, созданных для этих медиа-файлов.

B) Вы не можете, короткий путь в файловой системе NTFS сохраняется как отдельный атрибут NTFS, обычно, если имя файла может соответствовать 8.3, оно хранит только один, если оно не соответствует этим критериям, то оно может хранить как длинное, так и короткое имя файла. Если краткий не сохранен, то нет никакого способа сослаться на этот файл по любому короткому имени.

C) Зачем вам вообще нужно короткое имя файла?

1 голос
/ 03 октября 2014

Чтобы воссоздать короткие имена одно за другим, перед консолью восстановления Windows (F8) выполните следующее.

fsutil file setshortname <PathName> <shortname>

Сначала убедитесь, что короткие имена включены:

fsutil behavior set disable8dot3 0

Альтернативно Откройте Regedit и перейдите к следующему разделу реестра:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem

Найдите значение NtfsDisable8dot3NameCreation и дважды щелкните его. Измените данные для значения NtfsDisable8dot3NameCreation на 0, затем нажмите OK, чтобы сохранить изменения.

...