How to escape ampersands, semicolons, and curly braces in command-line powershell params? How to escape ampersands, semicolons, and curly braces in command-line powershell params? powershell powershell

How to escape ampersands, semicolons, and curly braces in command-line powershell params?


powershell .\makeConfig.ps1 -password "'xxx<xxxx;xxxxx&x.xxxx}xx/xxx'" -otherparam 3

Here

  • outer " double quotes would escape all cmd poisonous characters e.g. <, & etc. excepting " itself and % percentage sign (and ! exclamation mark if delayed expansion is enabled) while
  • inner ' apostrophes (single quotes) would escape all powershell ones (excepting ' apostrophe itself).

However, exceptions noticed above could be escaped as well… Based on both Escape characters, Delimiters and Quotes articles:


I'm running firebase using a powershell script. I solved the problem by using triple double-quotes like this: firebase deploy --token "$firebaseToken" --project "$firebaseProject" --message """$releaseMessage""". The URL is in the $releaseMessage, and the ampersand doesn't cause a problem anymore.