この実行可能ファイルの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()
$ pwdにset-shortcut.ps1として保存するPowerShellスクリプトを作成できます
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"
before $ Shortcut.Save()。
便宜上、これはset-shortcut.ps1の修正バージョンです。 2番目のパラメーターとして引数を受け入れます。
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
は、シンボリックリンクの作成と管理をサポートするように拡張されました。 New-Item
のItemTypeパラメーターは、新しい値SymbolicLinkを受け入れます。 New-Itemコマンドレットを実行して、シンボリックリンクを1行で作成できるようになりました。
New-Item -ItemType SymbolicLink -Path "C:\temp" -Name "calc.lnk" -Value "c:\windows\system32\calc.exe"
注意してくださいaSymbolicLinkはaShortcut、ショートカットは単なるファイルです。これらはサイズがあり(小さなサイズで、ポイントする場所を参照するだけです)、使用するにはそのファイルタイプをサポートするアプリケーションが必要です。シンボリックリンクはファイルシステムレベルであり、すべてが元のファイルと見なされます。アプリケーションは、シンボリックリンクを使用するために特別なサポートを必要としません。
とにかく、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の公式ドキュメント を参照できます。