我正在尝试创建一个新的快捷方式,并添加一个没有引号的TargetPath
。
我想使用以下targetPath通过快捷方式运行Powershell脚本:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command "& 'C:\Users\cn_ca\Desktop\Work\Scripts\Start_New_Develop_Instance.ps1'"
如果我手动创建快捷方式并在上面的TargetPath
中添加,那么一切都将正常运行。但是我想通过Powershell来创建它。
使用以下脚本:
$WshShell = New-Object -comObject WScript.Shell
$Shortcut = $WshShell.CreateShortcut("$($settings.scriptPath)\shortcuts\$($SC).lnk")
$path = "$($settings.scriptPath)\$($SC).ps1"
$Shortcut.TargetPath = "`"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command`""
$Shortcut.Arguments = "& '$path'"
$Shortcut.Save()
创建以下TargetPath
。请注意前导引号,末尾缺少引号和"
和&
之间的空格的区别。
"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noexit -command" & 'C:\Users\cn_ca\Desktop\Work\Scripts\Start_New_Develop_Instance.ps1'
编辑
如前所述-如果我在命令中添加参数作为参数,它将按我的意愿进行工作:
$Shortcut.TargetPath = "powershell.exe"
$Shortcut.Arguments = "-noexit " + "-command " + "& '$path'"