Лучший отвечающий
PowerShell - экранировать символ пробела

Вопрос
-
Привет всем.
Пытаюсь вызвать curl из PowerShell (curl - "настоящий", а не алиас Invoke-WebRequest)
Сам curl обращается к UNIX хосту, поэтому перед всеми кавычками в его параметрах пришлось поставить \
curl $command -d $parameters1 -d --% params="{\"from_date\":\"2023-04-12 12:08:00\",\"to_date\":\"2023-04-12 12:53:30\"}"так - работает за счет --% . Без него - не работает потому что между датой и временем - пробелы.
Каким образом эти пробелы можно "экранировать" в переменной, чтобы curl можно было вызывать как-то так:
$parameters2 = 'params="{\"from_date\":\"2023-04-12 12:08:00\",\"to_date\":\"2023-04-12 12:53:30\"}"'
curl $command -d $parameters1 -d $parameters2
- Изменено Alex Kislov 16 апреля 2023 г. 18:49
16 апреля 2023 г. 18:41
Ответы
-
Решение оказалось простым. Вместо пробела в аргументе надо использовать %20
- Помечено в качестве ответа Alex Kislov 17 апреля 2023 г. 19:45
17 апреля 2023 г. 19:45
Все ответы
-
Привет,
PowerShell использует символ серьезного ударения ( ` ) в качестве управляющего символа. Просто добавьте его перед каждым пробелом в имени файла. (Вы найдете этот символ над клавишей Tab и под клавишей Esc на клавиатуре.)
Каждый символ серьезного акцента сообщает PowerShell, что следует экранировать следующий символ.
Надеюсь, это разрешит ваш запрос !!
--Если ответ полезен, проголосуйте и примите его как ответ--17 апреля 2023 г. 13:46 -
Это (`) и (\) было проверено с самого начала. Не помагает...
Возможно, потому что сам curl обращается к unix хосту.17 апреля 2023 г. 16:27 -
Решение оказалось простым. Вместо пробела в аргументе надо использовать %20
- Помечено в качестве ответа Alex Kislov 17 апреля 2023 г. 19:45
17 апреля 2023 г. 19:45