PowerShell脚本实现创建桌面快捷方式的方法

时间:2022-09-10 10:06:04

本文介绍如何使用PowerShell将一个程序或文件,创建一个桌面快捷方式。在Windows系统里面,手工操作创建桌面快捷方式是很容易的,您只需要右键拖动文件到桌面,然后放开,在自动弹出的菜单中选择“在此创建快捷方式”即可完成,但要编程来实现这个效果就比较复杂了。

首先,我们要使用到COM组件,创建桌面快捷方式,最简单的办法是调用WScript.Shell这个COM组件。那么在PowerShell如何创建一个COM组件呢?

 

复制代码 代码如下:

$shell = New-Object -ComObject WScript.Shell


我们通过New-Object这个Cmdlet来创建了一个COM组件,组件的类是WScript.Shell,实现我们的第一步。

 

第二步,因为我们是要在桌面创建快捷方式,那还必须得找到桌面的位置,即桌面的物理路径。这个怎么找呢,如下:

 

复制代码 代码如下:

$desktop = [System.Environment]::GetFolderPath('Desktop']


这里使用了.NET框架里面的System.Environment类的GetFolderPath的静态方法,使用它可以很容易获得Windows目录、System32目录等。

 

第三步,定义快捷方式对象,并设置相关属性。

 

复制代码 代码如下:

$shortcut = $shell.CreateShortcut("$desktop\clickme.lnk")
$shortcut.TargetPath = "calc.exe"
$shortcut.IconLocation = "shell32.dll,23"


上面使用了WScript.Shell这个COM对象的CreateShortcut这个方法,将快捷方式定位到桌面,然后对得到的快捷方式对象定义了它的目标路径(计算器程序),并定义了它的显示图标。

 

最后,保存设置。

复制代码 代码如下:

$shortcut.Save()


调用Save方法,将快捷方式的设置保存下来。这样桌面快捷方式就生成了。