Параметр командной строки Powershell с одинарной кавычкой разбивает командную строку - PullRequest
0 голосов
/ 04 октября 2018

Я вызываю скрипт powershell из командного файла

powershell createshortcut.ps1 "%~n0"

Однако, если параметр имеет одинарную кавычку (расширенный пример)

powershell createshortcut.ps1 "Divertirsi con l'ortografia"

, парсер выдаст ошибку

The string is missing the terminator: '.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString

Очевидно, что содержимое параметра неизвестно.

Версия Powershell:

Major  Minor  Build  Revision
-----  -----  -----  --------
5      1      14393  2189

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

Скажите PowerShell, что он будет обрабатывать -File, а не -Command.

powershell -NoProfile -File createshortcut.ps1 "Divertirsi con l'ortografia"
0 голосов
/ 04 октября 2018

Либо избегайте его, используя один обратный тик (`):

powershell createshortcut.ps1 "Divertirsi con l`'ortografia"

, либо замените двойные кавычки на простые и используйте '':

powershell createshortcut.ps1 'Divertirsi con l''ortografia'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...