创建现有文件的多个快捷方式 (.lnk),并为所有快捷方式添加目标参数

创建现有文件的多个快捷方式 (.lnk),并为所有快捷方式添加目标参数

我有一个包含 1000 个 .bin 文件的文件夹。我希望找到一个 PowerShell 命令来创建这些文件的一组快捷方式,其中包含一组静态命令行参数在快捷方式的“目标”中,即一个程序(C:\prog.exe)、一个参数(-X)、一个文件(dll.dll)以及最后的文件名(randomly_named_file.bin)

带有目标参数的快捷方式

"C:\prog.exe" -X "C:\dll.dll" "C:\folder\file_0001.bin"

如果我突出显示文件夹中的所有 .bin 文件,右键单击并拖动到目标文件夹并选择“在此处创建快捷方式”,我会得到 1000 多个快捷方式,其中“目标”中只有文件名。我需要创建 1000 多个具有相同目标参数的快捷方式。

答案1

在互联网上的其他地方找到了帮助!

这是一个简单、优雅的 PowerShell 脚本,它可以批量创建数十亿个快捷方式并将目标参数附加到所有快捷方式,同时将文件名/位置保留在目标参数集的末尾:

PS C:\文件夹\文件保存位置>

Get-ChildItem | ForEach-Object {
$original = '"' + $_.FullName + '"'
$link     = 'C:\folder\where\files\are\kept' + $_.BaseName + '.lnk'
$wshell   = New-Object -ComObject WScript.Shell
$shortcut = $wshell.CreateShortcut($link)
$shortcut.TargetPath = 'C:\prog.exe'
$shortcut.Arguments = '-X "C:\dll.dll" ' + $original
$shortcut.Save()
}

这是+ $原价这正是我所寻找的。好极了。

相关内容