添加没有引号的TargetPath

时间:2018-06-25 11:25:42

标签: powershell scripting shortcut

我正在尝试创建一个新的快捷方式,并添加一个没有引号的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'"

0 个答案:

没有答案