Wie kann ich die Anführungszeichen im -paramWert in der folgenden Befehlszeile ordnungsgemäß umgehen ?
$cmd="\\server\toto.exe -batch=B -param="sort1;parmtxt='Security ID=1234'""
Invoke-Expression $cmd
Das scheitert natürlich. Ich habe versucht, die Anführungszeichen (einfach und doppelt) mit dem Escape-Zeichen `zu umgehen und habe verschiedene Kombinationen durchgeführt, aber nichts funktioniert.
$someCommandStringWithDoubleQuotes | cmd. Dies funktioniert tatsächlich mit PowerShell-Skripten (z. B. Aufrufen von CMake (dies erfordert doppelte Anführungszeichen (andernfalls schlägt dies stillschweigend fehl))). Eine Alternative zu CMD ist bash.exe ( MinGW ) - unter bestimmten Umständen kann der Start jedoch sehr, sehr langsam sein.