Мне нужна помощь для преобразования всех ярлыков Windows в относительные ссылки (символические ссылки) с помощью PowerShell. Все исходные файлы (цели ярлыков) находятся в одной папке, а внутри него есть еще одна папка с файлами, ярлыками и другими папками (которые могут содержать другие файлы, ярлыки и папки).Заменить ярлык с относительной символической связью во вложенных папках
Что я ищу, таким образом, сделать эту команду для каждого ярлыка (с дополнительной ../
в конечном счете):
cmd /c 'mklink "path/shortcut.txt" "../file.txt"' && del "path/shortcut.txt.lnk"
С помощью этого кода я могу получить абсолютный путь к цели ярлыка:
dir * -Include *.lnk -Recurse | ForEach-Object {
$sh = New-Object -ComObject WScript.Shell
$fullpath = $sh.CreateShortcut($_.FullName).TargetPath
}
Любая помощь? Как я могу найти его путь и число ../
?
'Resolve-Path -Relative' – PetSerAl
Я бы не стал рекомендовать это делать. Ярлыки обеспечивают больше функциональности, чем просто путь к некоторому файлу. –
Мне нужны символические ссылки, потому что они работают с linux и другими программами (например, FTP), а также могут иметь относительный путь. – Xenon