PowerShell中创建快捷方式的目标路径问题
我想为用户创建公共桌面上的快捷方式,但此捷径的此目标路径导致了一些问题。PowerShell中创建快捷方式的目标路径问题
$wshshell = New-Object -ComObject WScript.shell
$desktop = [System.Environment]::GetFolderPath("desktop")
$lnk = $wshshell.CreateShortcut("$desktop\CLMCPDEDEV.lnk")
$lnk.TargetPath = "C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe" "configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg"
我在另一个文件夹中的配置文件和exe是在不同的路径。我是电源外壳新手,我如何绕过"C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe"
和"configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg"
之间的空间?当我手动完成这个时,这是完整的捷径。任何指导非常感谢。
报价从CreateShortcut方法文档:
一个常见的问题是把参数中的 快捷对象,它不起作用TARGETPATH属性。快捷键 的所有参数都必须放在参数属性中。
所以,你必须这样做:
$wshshell = New-Object -ComObject WScript.shell
$desktop = [System.Environment]::GetFolderPath('Desktop')
$lnk = $wshshell.CreateShortcut((Join-Path -Path $desktop -ChildPath 'CLMCPDEDEV.lnk'))
$lnk.TargetPath = 'C:\Program Files (x86)\Unisys\WebEnabler\Web Enabler.exe'
$lnk.Arguments = 'configfile=c:\development-installs\web-enabler-config\CLMCPDEDEV.cfg'
$lnk.Save()
这工作,并将捷径公诸于众我使用了典型的cmd/c xcopy%userprofile%\ desktop \ CLMCPDEDEV.lnk c:\ users \ public \ desktop 然后cmd/c del%userprofile%\ desktop \ CLMCPDEDEV .lnk以避免重复图标 – joextreme
Hi BeatCracker。如果我想要将公共桌面上的特定lnk更改为快捷方式图标,我会使用什么命令?我在一个文件夹中有一个ICO文件,它与我想要clmcpdedev.lnk使用的颜色不同。 – joextreme
不知道,走了另一条路线,谢谢 – joextreme
是否把一个单引号之前' “C:'和'后.CFG”'帮助吗? –