Cree muchos accesos directos (.lnk) de archivos existentes y agregue argumentos de destino a todos los accesos directos

Cree muchos accesos directos (.lnk) de archivos existentes y agregue argumentos de destino a todos los accesos directos

Tengo una carpeta con 1000 archivos .bin. Me gustaría recibir ayuda para encontrar un comando de PowerShell para crear un conjunto de accesos directos a estos archivos con un conjunto estático deparámetros de línea de comandoen el 'Destino' del acceso directo, es decir, un programa (C:\prog.exe), un argumento (-X), un archivo (dll.dll) y finalmente el nombre del archivo (randomly_named_file.bin)

Un atajo con argumentos de destino

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

Si resalto todos los archivos .bin en la carpeta y hago clic derecho y arrastro a la carpeta de destino y selecciono 'crear acceso directo aquí', obtengo más de 1000 accesos directos donde en 'Destino' solo tiene el nombre del archivo. Necesito crear más de 1000 accesos directos, todos con los mismos argumentos de destino.

Respuesta1

¡Encontré ayuda en otros lugares de Internet!

Aquí hay un script de PowerShell simple y elegante que puede crear en masa miles de millones de accesos directos y agregar argumentos de destino a todos ellos, mientras mantiene el nombre de archivo/ubicación al final del conjunto de argumentos de destino:

PS C:\carpeta\donde\archivos\se\guardan>

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

Era el+ $originalespoco que estaba buscando. Hurra.

información relacionada