Crie muitos atalhos (.lnk) de arquivos existentes e adicione argumentos de destino a todos os atalhos

Crie muitos atalhos (.lnk) de arquivos existentes e adicione argumentos de destino a todos os atalhos

Eu tenho uma pasta com 1000 arquivos .bin. Gostaria de ajuda para encontrar um comando do PowerShell para criar um conjunto de atalhos para esses arquivos com um conjunto estático deparâmetros de linha de comandono 'Destino' do atalho, nomeadamente um programa (C:\prog.exe), um argumento (-X), um arquivo (dll.dll) e finalmente o nome do arquivo (randomly_named_file.bin)

Um atalho com argumentos de destino

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

Se eu destacar todos os arquivos .bin na pasta e clicar com o botão direito e arrastar para a pasta de destino e selecionar 'criar atalho aqui', recebo mais de 1000 atalhos onde em 'Destino' ele tem apenas o nome do arquivo. Preciso criar mais de 1.000 atalhos, todos com os mesmos argumentos de destino.

Responder1

Encontrei ajuda em outro lugar na Internet!

Aqui está um script simples e elegante do PowerShell que pode criar bilhões de atalhos em massa e anexar argumentos de destino a todos eles, enquanto mantém o nome do arquivo/local no final do conjunto de argumentos de destino:

PS C:\pasta\onde\arquivos\são\mantidos>

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()
}

Foi o+$originalpouco que eu estava procurando. Viva.

informação relacionada