I am trying to pass a variable with a string that contains an ampersand into Invoke-Expression, and it is telling me I have to put it in quotations and pass it as a string.
I've tried multiple combinations of escaping and using a raw string and a string in a variable with combinations of "" and '' to no avail. How can I do it?
Here's the code:
$streamout_calmedia01 = `
"rtmp://75.126.42.216/livepkgr/calmedialive01?adbe-live-event=liveevent&adbe-record-mode=record"
$streamcmd_calmedia01 = "C:\avconv\usr\bin\avconv.exe 'rtmp://75.126.42.211/transcoder/mobileingest live=1' -f flv -c:v libx264 -r 30 -g 120 -b:v 410000 -c:a aac -ar 22050 -b:a 64000 -strict experimental -y $streamout_calmedia01"
Invoke-Expression "$streamcmd_calmedia01"
I've tried using a `
before the ampersand and using a double quotation in front of Invoke-Expression before putting in the variable,
I've tried (as is shown) putting quotations around the variable with the -Command
for Invoke-Expression and also putting '&' and "&" and concatenating the ampersand to the string.
I need the ampersand in there for Flash Media Server to parse the command out of the stream name and flush prior recorded data before beginning HTTP live streaming chunking.
The ampersand must be double-quoted inside the string "&"
, so you need to escape the inner double quotes
$streamout_calmedia01 = "rtmp://...vent`"&`"adbe-record-mode=record"
or put the string in single quotes
$streamout_calmedia01 = 'rtmp://...vent"&"adbe-record-mode=record'
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With