Создайте много ярлыков (.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 ярлыков, где в "Target" у него просто есть имя файла. Мне нужно создать более 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()
}
Это был + $ оригинальный бит, который я искал. Ура.