使用 PowerShell 建立快捷方式
Rohan Timalsina
2022年5月16日
快捷方式是可以指向系統上任何程式、檔案或資料夾的連結。在桌面或工作列上有一個快捷方式,使用者無需在計算機上搜尋多個資料夾。
在 Windows 中,快捷方式檔案包含原始檔案的目標路徑,並具有 .lnk
副檔名,圖示左下角帶有箭頭。當你開啟快捷方式檔案時,它將開啟原始檔案。
它在磁碟中佔用的空間非常小。本文將教你使用 PowerShell 建立快捷方式。
使用 ComObject
使用 PowerShell 建立快捷方式
你將需要一個 WScript.Shell
型別的 COM
物件來使用 PowerShell 建立快捷方式。New-Object
cmdlet 建立 .NET
框架或 COM
物件的新例項。
你可以使用 ComObject
引數建立 COM
物件。下面的命令建立一個代表 WScript.Shell
的 COM
物件並將其分配給變數 $WScriptShell
。
$WScriptShell = New-Object -ComObject WScript.Shell
現在,讓我們定義一個檔案的位置來建立它的快捷方式。在這裡,我們正在為 Typora
應用程式建立一個快捷方式。
$TargetFile = "C:\Program Files\Typora\Typora.exe"
然後定義快捷方式檔案的名稱和位置。
$ShortcutFile = "C:\Users\rhntm\OneDrive\Desktop\Typora.lnk"
之後,使用 CreateShortcut
方法並將其分配給一個變數,如下所示。
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
下一步是將目標路徑新增到 $TargetFile
變數。
$Shortcut.TargetPath = $TargetFile
最後,呼叫 Save()
方法並儲存你的快捷方式。
$Shortcut.Save()
快捷方式在指定位置建立為 Typora.lnk
。
Get-ChildItem "C:\Users\rhntm\OneDrive\Desktop"
輸出:
Directory: C:\Users\rhntm\OneDrive\Desktop
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 1/30/2022 11:34 AM 970 Typora.lnk
完整的指令碼應該是這樣的:
$WScriptShell = New-Object -ComObject WScript.Shell
$TargetFile = "C:\Program Files\Typora\Typora.exe"
$ShortcutFile = "C:\Users\rhntm\OneDrive\Desktop\Typora.lnk"
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()
你還可以在 PowerShell 指令碼中使用此函式來建立快捷方式。
function createShortcut {
param ([string]$TargetFile, [string]$ShortcutFile)
$WScriptShell = New-Object -ComObject WScript.Shell
$Shortcut = $WScriptShell.CreateShortcut($ShortcutFile)
$Shortcut.TargetPath = $TargetFile
$Shortcut.Save()
}
createShortcut "C:\Program Files\Greenshot\Greenshot.exe" "C:\New\Greenshot.lnk"
Author: Rohan Timalsina