1

In windows CMD, I want to run a powershell script and pass string params, which have quotes and ampersands in the params.

U:\Desktop>PowerShell .\post "http://domain/api/app?pLanguage=en-US\"&\"pCompanyID=816" "{\"Message\":\"test message - please ignore\"}" The string is missing the terminator: ". + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString '\"pCompanyID=816"' is not recognized as an internal or external command, operable program or batch file. 

How can I fix this issue?

2
  • To start with you should use PowerShell -Command "". In between those doublequotes, enter the command line you'd normally enter at a powershell prompt, and we'll take it from there! Commented Aug 28, 2019 at 21:00
  • Try to escape the & like ^&... Commented Aug 28, 2019 at 21:03

1 Answer 1

1

From another question on this site - How to escape ampersands, semicolons, and curly braces in command-line powershell params?

Wrap your command line strings in nested double and single quotes - e.g. "'[somestring]'".

In your specific case:

C:> powershell .\post "'http://domain/api/app?pLanguage=en-US&pCompanyID=816'" "'{\"Message\":\"test message - please ignore\"}'" 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.