crashzero
Goto Top

Aus Powershell Exe-Datei ausführen wobei Parameter in " stehen muß

Ich habe folgendes Script in einer Powershell.
$Cmd = 'I:\Ordner1\Datei.exe'  
$Arg1 = "$Pfad"  
$Arg2 = '>'  
$Arg3 = "i:\Ordner1\test\Textdatei1.txt"  
$Arg4 = '+P 0010,0010'  
 
& $Cmd "$Arg1 $Arg2 $Arg3 $Arg4"  
write-host $Cmd "$Arg1 $Arg2 $Arg3 $Arg4"  

Der ursprüngliche Aufruf der Datei.exe sieht eigentlich so aus :

Beispiel : Datei.exe "I:\Ordner1\Ordner2\Ordner3\Datei.bak" > "i:\Ordner1\test\Txtdatei1.txt" +P 0010,0010

Den Pfad : I:\Ordner1\Ordner2\Ordner3\Datei.bak habe ich bereits in der Variablen $Pfad abgelegt

Wie bekomme ich das hin das beim Aufruf der Datei.exe mit Parametern die " so gesetzt sind wie im Beispiel.

Vielen Dank

Content-ID: 1689126434

Url: https://administrator.de/forum/aus-powershell-exe-datei-ausfuehren-wobei-parameter-in-stehen-muss-1689126434.html

Ausgedruckt am: 22.12.2024 um 07:12 Uhr

Dirmhirn
Dirmhirn 04.01.2022 um 20:06:53 Uhr
Goto Top
Hi,
Mit `" kannst du " maskieren.

Start-Process ist vll auch hilfreich. https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...

Sg Dirm
Crashzero
Crashzero 05.01.2022 um 08:19:49 Uhr
Goto Top
Jup, habe ich probiert.

Irgendwie klappt das nicht mit den " zum Ausführen als Parameter an eine .exe Datei.

Ich habe $pfad als
I:\Ordner1\Ordner2\Ordner3\Datei.bak

Die Datei.exe zum Ausführen :
I:\Ordner1\Datei.exe

Das ganze soll umgeleitet werden (Pipe >) in die Datei
I:\Ordner1\Ordner2\Text.bak

desweiteren muß noch angehängt werden :
+P 0010,0010

Das Ziel muß solch ein Ausführen sein :

I:\Ordner1\Datei.exe "I:\Ordner1\Ordner2\Ordner2\Datei.bak" > "i:\Ordner1\Ordner2\Text.bak" +P 0010,0010
Start-Process -FilePath "i:\Ordner1\Datei.exe" -ArgumentList `"$pfad`" `">`" `"i:\Ordner1\Ordner2\Text.txt`" '+P 0010,0010`  
Bei der o.g. Phrase bekomme ich nen Fehler bzw. keine Ausgabe
Dirmhirn
Dirmhirn 05.01.2022 um 14:11:54 Uhr
Goto Top
Start-Process -FilePath "i:\Ordner1\Datei.exe" -ArgumentList `"$pfad`" `">`" `"i:\Ordner1\Ordner2\Text.txt`" '+P 0010,0010`  
Bei der o.g. Phrase bekomme ich nen Fehler bzw. keine Ausgabe

Da fehlendie " um die ArgumentList. Mit `" masierst fu sie ja, aber du musst es schon als String kennzeichen.

' " $pfad" .....' geht nicht?
Schau halt mal dass du alle " bzw. ' auch beendest. Das ' vor dem + und das ` am Ende sehen etwas verloren aus...