Согласно Документация MSDN по созданию символических ссылок, корневые относительные символические ссылки (начинающиеся с "\") должен разрешение относительно диска, с которого осуществляется доступ к символической ссылке. У меня есть множество таких корневых относительных символических ссылок на Windows Server, и я могу легко получить к ним доступ как с сервера, так и с клиентов Windows 7 (по крайней мере, после R2R SymlinkEvaluation был включен с помощью fsutil). То есть, допустим, файл .mp4, символическая ссылка открывается в проигрывателе Windows Media.
Однако, когда кто-то поднимает Свойства окно (контекстное меню> Свойства) значение для Цель интерпретируется неправильно, разрешая путь к текущему каталог, а не текущие водить машину. Из-за этого становится невозможным просмотр других вкладок Свойства окно (открывается с Ярлык вкладка выбрана), реагируя на любую попытку выбрать другую вкладку всплывающим предупреждением:
«Проблема с ярлыком: имя [неверный путь], указанное в поле« Цель », недействительно. Убедитесь, что путь и имя файла верны».
Такое поведение наблюдается как в Windows 7, так и в Windows Server 2008 r2.
Кто-нибудь еще сталкивался с этой проблемой? Могут ли в Windows быть настройки, которые мне нужно настроить (помимо настроек fsutil), чтобы исправить это? Или это (глоток) ... ошибка?
Я также заметил, что некоторые программы подавитесь этими символическими ссылками, в то время как другие в порядке. Например, Quicktime постоянно дает сбой, тогда как VLC - чемпион. Еще более странно то, что некоторые программы подавляются только определенными типами файлов (Sony Vegas не имеет проблем с файлами .mp4 с символическими ссылками, но постоянно не работает с файлами .dv). Кому-нибудь это странно?
Все это кажется довольно незрелым поведением для технологии файловой системы, которую Windows рекламирует со времен Vista.
Примечание: Все ссылки, которые я тестировал, были созданы с использованием CreateSymbolicLink метод в kernel32.dll. Из моих тестов кажется, что ни mklink, ни PSCX New-Symlink cmdlet способны генерировать допустимые коренной родственник символические ссылки (они оба пытаются преобразовать ссылку в абсолютную, прежде чем назначить ее в качестве цели).
Как бы то ни было, инструмент, который я использовал для создания ссылок, теперь размещен на GitHub: PSLinkИнструменты. После установки PowerShell SnapIn следующая команда создаст корневую относительную символическую ссылку:
New-Symlink -LiteralPath 'C:\Users\Kurt\Desktop\NE.pdf' -Target '\Users\Kurt\Books\Leibniz\New Essays on Human Understanding.pdf'
где цель будет указывать на корень, в данном случае, диска C.