Как создать ярлык с помощью PowerShell
Я хочу создать ярлык с помощью PowerShell для этого исполняемый файл:
C:Program Files (x86)ColorPixColorPix.exe
Как это можно сделать?
2 ответа:
Я не знаю ни одного собственного командлета в powershell, но вы можете использовать com-объект вместо этого:
$WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut("$Home\Desktop\ColorPix.lnk") $Shortcut.TargetPath = "C:\Program Files (x86)\ColorPix\ColorPix.exe" $Shortcut.Save()
вы можете создать сценарий powershell сохранить как set-shortcut. ps1 в вашем $pwd
param ( [string]$SourceExe, [string]$DestinationPath ) $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($DestinationPath) $Shortcut.TargetPath = $SourceExe $Shortcut.Save()
и называйте это так
Set-ShortCut "C:\Program Files (x86)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"
если вы хотите передать аргументы в целевой exe, это можно сделать с помощью:
'Set the additional parameters for the shortcut $Shortcut.Arguments = "/argument=value"
до $ярлык.Спасать.)(
для удобства, вот модифицированная версия набор-ярлык.пс1. Он принимает аргументов в качестве второго параметра.
param ( [string]$SourceExe, [string]$ArgumentsToSourceExe, [string]$DestinationPath ) $WshShell = New-Object -comObject WScript.Shell $Shortcut = $WshShell.CreateShortcut($DestinationPath) $Shortcut.TargetPath = $SourceExe $Shortcut.Arguments = $ArgumentsToSourceExe $Shortcut.Save()
Начало PowerShell 5.0
New-Item
,Remove-Item
иGet-ChildItem
были улучшены для поддержки создания и управления символическими ссылками. Элемент ItemType наNew-Item
принимает новое значение, SymbolicLink. Теперь можно создать символические ссылки в одной строке, выполнив командлет New-Item.New-Item -ItemType SymbolicLink -Path "C:\temp" -Name "calc.lnk" -Value "c:\windows\system32\calc.exe"
Будьте Осторожны a SymbolicLink отличается от ярлык, ярлыки-это просто файл. У них есть размер (небольшой, который просто ссылается на то, где они указывают), и им требуется приложение для поддержки этого типа файлов для использования. Символическая ссылка-это уровень файловой системы, и все видит ее как исходный файл. Приложение не нуждается в специальной поддержке, чтобы использовать символическую ссылку.
в любом случае, если вы хотите создать Запуск От Имени Администратора ярлык с помощью Powershell вы можете использовать
$file="c:\temp\calc.lnk" $bytes = [System.IO.File]::ReadAllBytes($file) $bytes[0x15] = $bytes[0x15] -bor 0x20 #set byte 21 (0x15) bit 6 (0x20) ON (Use –bor to set RunAsAdministrator option and –bxor to unset) [System.IO.File]::WriteAllBytes($file, $bytes)
если кто-то хочет изменить что-то еще в .Файл LNK, на который вы можете ссылаться официальная документация Microsoft.