Ich versuche, einen Prozess mit zwei Parametern zu starten, die aus einem Cmd-Eingabeaufforderungsfenster problemlos ausgeführt werden. Das Problem tritt auf, wenn ich versuche, es über process.start
zu starten.Process.Start Argumente funktionieren nicht
Im cmd-Fenster sieht es so aus.
D:\Projects\MyProg.exe "D:\Projects\MyScript.txt" "D:\Projects\MyInputData.txt"
Wenn ich versuche, die Argumente in .NET
zu bauen es doppelte Anführungszeichen um den gesamten String setzt und es sieht so aus. Das Programm interpretiert es nicht als zwei Parameter und stoppt einfach. Wenn ich jedem Argument doppelte Anführungszeichen hinzufüge, interpretiert es es immer noch falsch.
Ich weiß, es ist das Problem MyProg.exe (Hersteller-Programm, das ich nicht ändern kann), aber gibt es eine Möglichkeit, diesen Befehl zu senden, damit es funktioniert?
Wenn ich doppelte Anführungszeichen hinzufügen, funktioniert es, das Programm startet aber dann hat ein Problem und stoppt einfach.
myProcess.StartInfo.Arguments = """D:\Projects\MyScript.txt"" ""D:\Projects\MyInputData.txt"""
Der letzte Schnipsel ist korrekteste sichergestellt, dass Räume in den realen Pfadnamen verursachen keine Probleme. Sie sind also auf "hat ein Problem und stoppt einfach", kann niemand erraten, was das bedeuten könnte, wenn Sie das Problem nicht beschreiben und diesen kleinen Code zeigen. –
David Alves, ich würde gerne mehr Informationen geben, aber das ist es, was es tut. Es gibt KEINE Informationen aus dem Prozess. Ich höre einfach auf und sage mir nicht warum. Entschuldigung, ich kann nicht beschreibender sein. –