使用 PowerShell 建立快捷方式

Rohan Timalsina 2022年5月16日
使用 PowerShell 建立快捷方式

快捷方式是可以指向系統上任何程式、檔案或資料夾的連結。在桌面或工作列上有一個快捷方式,使用者無需在計算機上搜尋多個資料夾。

在 Windows 中,快捷方式檔案包含原始檔案的目標路徑,並具有 .lnk 副檔名,圖示左下角帶有箭頭。當你開啟快捷方式檔案時,它將開啟原始檔案。

它在磁碟中佔用的空間非常小。本文將教你使用 PowerShell 建立快捷方式。

使用 ComObject 使用 PowerShell 建立快捷方式

你將需要一個 WScript.Shell 型別的 COM 物件來使用 PowerShell 建立快捷方式。New-Object cmdlet 建立 .NET 框架或 COM 物件的新例項。

你可以使用 ComObject 引數建立 COM 物件。下面的命令建立一個代表 WScript.ShellCOM 物件並將其分配給變數 $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"
作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website