PowerShell ile masaüstünde kısayol oluşturma


3

PowerShell betiğimi yazmak için bu yazının üçüncü sayısına cevap veriyorum, ancak çalışıyor gibi görünmüyor.


$linkPath        = Join-Path ([Environment]::GetFolderPath("Desktop")) "My shortcut.lnk"
$targetPath      = Join-Path ([Environment]::GetFolderPath("MyDocuments")) "...\run.exe"
$link            = (New-Object -ComObject WScript.Shell).CreateShortcut($linkPath)
$link.TargetPath = $targetPath

Yalnızca çıktı bölmesindeki kodu yazdırır ancak hiçbir zaman tam olarak yürütülemez; masaüstünde kısayol görünmez.


Maalesef, orijinal soruyu düzenlemek yerine, cevabı düzenlemek daha iyidir. Bunu ilk okuduğumda sorunuzu anlamadım, bu zaten çözüldü, bu yüzden cevap gerekli değildi. Bu yüzden, gerçekte ne olduğunu soru düzenlemelerinde gördüm.
kokbira

Yanıtlar:


5

SaveKısayolu bir dosya olarak kaydetmek için kısayol nesnesinin yöntemini çağırmanız gerekir .

$linkPath        = Join-Path ([Environment]::GetFolderPath("Desktop")) "My shortcut.lnk"
$targetPath      = Join-Path ([Environment]::GetFolderPath("MyDocuments")) "...\run.exe"
$link            = (New-Object -ComObject WScript.Shell).CreateShortcut($linkPath)
$link.TargetPath = $targetPath

$link.Save()

Ayrıca bakınız:


1

Onu otomatikleştirmek ve istediğiniz zaman kısayollar oluşturmak istiyorsanız, işte size bunu yapmanıza yardımcı olabilecek bir betik.

Betik, veri kullanıcısını ve uzak bilgisayar adını girmenizi bekleyen bir uygulama gibi çalışacak, #example altındaki satırlarda [] içindeki her şeyi ihtiyaçlarınıza göre değiştirmeniz gerekecek, ayrıca (ve bunu öneririm) #example lines aynı anda birden fazla kısayol oluşturmak için

$ErrorActionPreference = "SilentlyContinue"

  function shortcut
{
    param
  ( 
    $DestinationPath,   
    $source,
    $icon
  )

  # CODE

  $WshShell = New-Object -ComObject WScript.shell
  $shortcut = $WshShell.CreateShortcut($DestinationPath)
  $shortcut.TargetPath = $Source
  $shortcut.iconlocation = $Icon
  $Shortcut.Save() 
}

$DestinationPath = read-host "Host"
$User = read-host "User"

#Example

shortcut "\\$DestinationPath\c$\users\$user\desktop\[your shortcut.lnk]" "[source for your shortcut]" "[icon path if needed]"    

if(Test-Path "\\$DestinationPath\c$\users\$user\desktop\[your shortcut.lnk]")
{Write-host "`nShortcut created: [your shortcut]`nHost:$DestinationPath`nUser:$user`n" -ForegroundColor Green}

else{write-host "Shortcut couldn't be created in $DestinationPath"}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.