Я заметил, что символические ссылки в Linux не работают в Windows, и наоборот. Есть ли способ конвертировать символические ссылки Linux в символические ссылки Windows? В частности, я хочу преобразовать относительные символические ссылки Linux в относительные символические ссылки Windows (в случае, если папка с символическими ссылками хранится на флэш-диске или копируется из файловой системы Linux в файловую систему Windows).
1 ответ
Windows не имеет символических ссылок как таковых. Он имеет ярлыки, которые представляют собой немного больше, чем специальные текстовые файлы, содержащие место назначения. Они отличаются по функциям от символических ссылок. Например, это перенаправление в системе POSIX (включая OS X):
./somecommand > ./somesymlink
поместит вывод команды в любой файл, на который указывает символическая ссылка, но в Windows
somecommand > someshortcut.lnk
просто перезаписать ярлык - вы получите текстовый файл с непонятным расширением.
С другой стороны, ярлыки Windows могут содержать аргументы командной строки, которые изменяют фактический характер команды. Симлинки не имеют этой возможности (хотя с псевдонимами оболочки, функциями и сценариями, вы действительно не пропустите это.)
Тем не менее, вы можете создать файл ярлыка программно в Windows, поэтому вы можете создать скрипт, который попытается создать подходящий файл для вашей платформы.