Значение не попадает в ожидаемый диапазон при применении свойства к ярлыку Windows 10 - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь изменить TargetPath ярлыка на Windows с помощью PowerShell, и когда я go применяю новый путь, я получаю сообщение «Значение не попадает в ожидаемый диапазон» ошибка. Я предполагаю, что это как-то связано с кавычками, но я не уверен, как это исправить.

$shell = New-Object -COM WScript.Shell
$AppPath = '"app.exe"'
$AppFullPath = '"C:\Program Files (x86)\app\app.exe"'
$TargetPath = "C:\WINDOWS\system32\cmd.exe /c start $AppPath /high $AppFullPath"
$DesktopShortcut = $shell.CreateShortcut('C:\users\user\desktop\app.lnk')
$DesktopShortcut.TargetPath = $TargetPath

$TargetPath выглядит хорошо, и я могу вручную настроить его вывод через GUI и он работает должным образом, но не в PowerShell.

C:\WINDOWS\system32\cmd.exe /c start "app.exe" /high "C:\Program Files (x86)\app\app.exe"

1 Ответ

0 голосов
/ 06 августа 2020

Оказывается, вам нужно добавить аргументы для чего-то вроде этого

$shell = New-Object -COM WScript.Shell
$AppPath = '"app.exe"'
$AppFullPath = '"C:\Program Files (x86)\app\app.exe"'
$cmd = "C:\WINDOWS\system32\cmd.exe"
$cmdargs = "/c start $AppPath /high $AppFullPath"
$DesktopShortcut = $shell.CreateShortcut('C:\users\user\desktop\app.lnk')
$DesktopShortcut.TargetPath = $cmd
$DesktopShortcut.Arguments = $cmdargs
$DesktopShortcut.Save()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...