Sto provando a passare una variabile con una stringa che contiene una e commerciale in invoke-expression e mi sta dicendo che devo metterla tra virgolette e passarla come una stringa. Ho provato più combinazioni di escape e utilizzando una stringa raw e una stringa in una variabile con combinazioni di "" e "" inutilmente. Qualcuno può aiutarmi qui? Ecco il codice:PowerShell Invoke-Expression with E commerciale nella stringa di comando
$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"
Ho provato con un `
prima che la e commerciale e l'utilizzo di una doppia citazione davanti a invocare l'espressione prima di mettere nella variabile, ho provato (come mostrato) mettendo citazioni in tutto il variabile con -Command per Invoke-Expression e anche mettendo '&' e "&" e concatenando la e commerciale alla stringa. Qualsiasi idea sarebbe GRANDE apprezzata! Ho bisogno di un Ampersand per Flash Media Server per analizzare il comando dal nome del flusso e svuotare i dati registrati prima di iniziare il chunking di HTTP Live Streaming.
Ciò non dovrebbe avere alcun effetto. '&' non ha bisogno di eseguire l'escape in stringhe di virgolette doppie e l'apice viene ignorato/scartato: '" & ". Length -> 1' e' "' '&". Length -> 1' (il secondo esempio dovrebbe avere solo uno backtick, sembra che non riesca a capire come inserire un solo backtick nel codice backtick di markdown!) – latkin
Forse intendevi usare le virgolette singole o le doppie virgolette con un ** backtick ** doppio **? – latkin
No, si supponeva che avessero 3 apici inversi. Non sono sicuro di cosa sia successo lì. –