Saya ingin membuat pintasan dengan PowerShell untuk eksekusi ini:
C:\Program Files (x86)\ColorPix\ColorPix.exe
Bagaimana ini bisa dilakukan?
Saya ingin membuat pintasan dengan PowerShell untuk eksekusi ini:
C:\Program Files (x86)\ColorPix\ColorPix.exe
Bagaimana ini bisa dilakukan?
Jawaban:
Saya tidak tahu cmdlet asli apa pun di PowerShell tetapi Anda dapat menggunakan objek com sebagai gantinya:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$Home\Desktop\ColorPix.lnk")
$Shortcut.TargetPath = "C:\Program Files (x86)\ColorPix\ColorPix.exe"
$Shortcut.Save()
Anda dapat membuat skrip PowerShell simpan sebagai set-shortcut.ps1 di $ pwd Anda
param ( [string]$SourceExe, [string]$DestinationPath )
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut($DestinationPath)
$Shortcut.TargetPath = $SourceExe
$Shortcut.Save()
dan menyebutnya seperti ini
Set-ShortCut "C:\Program Files (x86)\ColorPix\ColorPix.exe" "$Home\Desktop\ColorPix.lnk"
Jika Anda ingin meneruskan argumen ke exe target, itu dapat dilakukan dengan:
#Set the additional parameters for the shortcut
$Shortcut.Arguments = "/argument=value"
sebelum $ Shortcut.Save ().
Untuk kenyamanan, berikut adalah versi modifikasi dari set-shortcut.ps1. Ini menerima argumen sebagai parameter keduanya.
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()
Set-ShortCut
cmdlet lebih seperti MKLINK
, atau di Set-Alias
mana alias atau tautan muncul sebagai argumen pertama dan kemudian target. param ( [string]$LinkPath, [string]$TargetPath )
cmd /c mklink
solusi adalah kumpulan karakter yang sangat terbatas untuk penamaan file .lnk. Sebuah nama yang mengandung a → akan gagal, misalnya. Salah satu cara untuk mengatasi ini, jika Anda membutuhkan dukungan karakter yang lebih baik, adalah [Web.HttpUtility]::UrlEncode()
(setelah Add-Type -AN System.Web
) nama file saat membuat file .lnk, kemudian mengganti namanya menjadi nama UrlDecoded menggunakan Rename-Item.
SpecialFolders
metode objek WScript mungkin berguna: $WshShell.SpecialFolders("Desktop")
akan memberi Anda jalur yang benar ke folder desktop, yang dapat Anda gunakan selanjutnya saat menelepon CreateShortcut
.
PS C:\Users\${myUser} $Shortcut = $WshShell.CreateShortcut("$C:\Users\${myUser}\home.lnk")
. Itu membuat pintasan yang dapat dilihat dari windows explorer, tetapi ketika saya mengetik cd home
di PS itu sendiri saya mendapatkan kesalahancd : Cannot find path 'C:\Users\carpb\home' because it does not exist.
Memulai PowerShell 5.0 New-Item
,, Remove-Item
dan Get-ChildItem
telah ditingkatkan untuk mendukung pembuatan dan pengelolaan tautan simbolik. The ItemType parameter untuk New-Item
menerima nilai baru, SymbolicLink. Sekarang Anda dapat membuat tautan simbolik dalam satu baris dengan menjalankan cmdlet Item Baru.
New-Item -ItemType SymbolicLink -Path "C:\temp" -Name "calc.lnk" -Value "c:\windows\system32\calc.exe"
Hati-hati yang SymbolicLink berbeda dari Shortcut , jalan pintas hanya file. Mereka memiliki ukuran (yang kecil, yang hanya mereferensikan ke mana mereka menunjuk) dan mereka membutuhkan aplikasi untuk mendukung tipe file tersebut agar dapat digunakan. Tautan simbolis adalah level sistem file, dan semuanya melihatnya sebagai file asli. Aplikasi tidak memerlukan dukungan khusus untuk menggunakan tautan simbolis.
Pokoknya jika Anda ingin membuat shortcut Run As Administrator menggunakan Powershell bisa Anda gunakan
$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)
Jika ada yang ingin mengubah sesuatu yang lain dalam file .LNK, Anda dapat merujuk ke dokumentasi resmi Microsoft .
New-Item
in "${env:AppData}\Microsoft\Windows\SendTo"
tidak akan ditampilkan di menu Kirim Ke Explorer, misalnya, dan tidak mengizinkan penyesuaian properti Pintasan seperti ikon atau direktori kerja.
New-Item -ItemType SymbolicLink -RunAsAdmin ...
.
& C:\temp\calc.lnk
). Apa yang kamu harapkan ?