2012-03-20 5 views
4

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

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

TL; DR:

работ.

$ shortcutX.TargetPath = "C: \ Apps \ приложение"

Не работает!

$ shortcutX.TargetPath = "C: \ Apps \ приложение --switch"

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

ответ

6

От MSDN

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

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

$shortcutX.Arguments = "-- switch" 

На моей коробке (окна 7 Pro) Я могу сделать ярлык с адресатом пути, имеющие пространства

+0

Спасибо! Работал как шарм! – Joe

 Смежные вопросы

  • Нет связанных вопросов^_^