Sono abbastanza nuovo di Powershell ... e mi chiedevo come fuggire correttamente le virgolette nel valore -param.Escaping citazioni e virgolette
$cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'""
Invoke-Expression $cmd
Questo ovviamente non funziona, ho cercato di sfuggire le virgolette (singole e doppie) utilizzando il carattere di escape `e fatto varie combinazioni, ma niente sta funzionando. Please Help
Grazie per la risposta. avvio-processo non importa quanto mi abbia sempre lamentato. COSÌ ho fatto cmd/C $ cmd (dove $ cmd è il mio intero comando incluso .exe.). Sto usando PowerShell 2.0. Anche la stringa qui non ha funzionato se non ricordo male. – eetawil
Questo sembra inutilmente complicato rispetto all'utilizzo di backtick (') per evitare le virgolette doppie. – saille
Questo funziona benissimo se si seguono le regole che si aspetta. Il primo @ 'deve essere su "linea 1", il parametro deve essere su "riga 2" e il finale' @ deve su "riga 3". La desinenza '@ non può avere spazi prima di essa. Man questa sintassi è schizzinosa! –