Создание ярлыков Windows с помощью Powershell, проблемы с пробелами в целевом пути - PullRequest
4 голосов
/ 20 марта 2012

Короче говоря, я делаю ярлыки в PS, пока в Target Path нет пробела, ярлык работает нормально. Как только у Цели есть пробел, Цели быстрого доступа заключаются в двойные кавычки и, как таковые, не работают ... Ниже приведен нерабочий код. Если бы вы удалили пробел, это было бы правильно (хорошо, за исключением того факта, что он не указывает на EXE в этой точке). По сути это не будет заключать цель в кавычки.

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

TL; DR:

Works.

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

Не работает!

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

Почему?!?!?!?!

1 Ответ

6 голосов
/ 20 марта 2012

С MSDN :

Это свойство только для целевого пути ярлыка.

Вы можете добавить аргументы к ярлыку в аргументесвойство.

$shortcutX.Arguments = "-- switch"

В моем окне (Windows 7 Pro) я могу создать ярлык, указав путь к месту с пробелами.

...