使用 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