使用Powershell创建Windows快捷方式,目标路径中存在空格问题



短小精悍,我在PS中制作快捷方式,只要目标路径中没有空间,快捷方式就可以正常工作。一旦目标中有空格,快捷方式目标就会用双引号括起来,因此不起作用。。。以下是不起作用的代码。如果你要删除空格,它会正确(除了它当时没有指向EXE这一事实)。基本上,它不会用引号来包裹目标。

$shell = New-Object -ComObject WScript.Shell
$shortcutX = $shell.CreateShortcut("C:Short.lnk")
$shortcutX.TargetPath = "C:appsapplication --switch"
$shortcutX.Save()

TL;DR:

工作。

$shortcutX.TargetPath="C:\apps\application"

不起作用!

$shortcutX.TargetPath="C:\apps\application--switch"

为什么?!?!?!?!

来自MSDN:

此属性仅适用于快捷方式的目标路径。

您可以将参数添加到Argument属性中的快捷方式中。

$shortcutX.Arguments = "-- switch"

在我的盒子(Windows 7 Pro)上,我可以制作路径目的地有空格的快捷方式。

最新更新