Я хочу создать ярлык с Powershell для этого исполняемого файла:
C:\Program Files (x86)\ColorPix\ColorPix.exe
Как это можно сделать?
Я хочу создать ярлык с Powershell для этого исполняемого файла:
C:\Program Files (x86)\ColorPix\ColorPix.exe
Как это можно сделать?
Я не знаю никакого нативного командлета в 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 script сохранить как 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"
до $Shortcut.Save().
Для удобства здесь приведена модифицированная версия set-shortcut.ps1. Он принимает аргументы как свой второй параметр.
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"
Будьте осторожны. 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 .