Создайте множество ярлыков (.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()
}

Это было+ $оригиналВот это я искал. Ура.

Связанный контент