Próbuję przekazać zmienną z ciągiem, który zawiera znak ampersand do wyrażenia invoke i mówi mi, że muszę umieścić go w cudzysłowach i przekazać go jako ciąg znaków. Próbowałem wielu kombinacji ucieczki i używania nieprzetworzonego łańcucha i łańcucha w zmiennej z kombinacjami "" i "" bez skutku. Czy ktoś może mi pomóc? Oto kod:Wywołanie Wywołanie PowerShell z Ampersand w ciągu polecenia
$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"
Próbowałem przy użyciu `
przed Ampersand i stosując podwójne notowanie przed wywołać ekspresję przed wprowadzeniem w zmiennej, próbowałem (jak pokazano) oddanie cytaty wokół Zmienna z -Komendą dla Wyrażenia-Wywołania, a także wstawiającą "&" i "&" i łączącą znak ampersand z ciągiem znaków. Wszelkie pomysły byłyby WSPANIAŁE doceniane! Potrzebuję Ampersand tam dla Flash Media Server, aby przeanalizować polecenie z nazwy strumienia i przepłukać wcześniej zapisane dane przed rozpoczęciem przesyłania strumieniowego HTTP Live Streaming.
Nie powinno to mieć żadnego efektu. '&' nie potrzebuje ucieczki w łańcuchach podwójnego cudzysłowu, a zwrotny jest ignorowany/odrzucany: '" & ". Długość -> 1' i" "' 'i". Długość -> 1' (Drugi przykład powinien mieć tylko jeden backtick, wydaje się, że nie mogę wymyślić, jak umieścić pojedynczy backtick w kodzie backtick Markdown!) – latkin
Może miałeś użyć pojedynczych cudzysłowów lub podwójnych cudzysłowów z ** podwójnym zwrotnym? – latkin
Nie powinno to mieć 3 zwrotów. Nie jestem pewien, co się tam stało. –