【发布时间】:2016-01-30 22:16:11
【问题描述】:
我需要帮助才能使用 PowerShell 将所有 Windows 快捷方式转换为相对软链接(符号链接)。 所有原始文件(快捷方式的目标)都在一个文件夹中,其中还有另一个文件夹,其中包含文件、快捷方式和其他文件夹(可以包含其他文件、快捷方式和文件夹)。
我正在寻找的是为每个快捷方式创建这个命令(最终更多../):
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 -
我不建议这样做。快捷方式提供的功能不仅仅是某些文件的路径。
-
我需要符号链接,因为它们适用于 linux 和其他程序(如 FTP),而且它们可以有相对路径。
-
@PetSerAl 谢谢!这有帮助!
标签: powershell symlink shortcut