Gibt es irgendwelche .Net Methoden, die den Pfad und den Dateinamen aus einer Windows-Befehlszeichenfolge extrahieren können und die Argumente nicht einschließen?Get FileName aus Befehl mit Argumenten
var p = @"c:\somefolder\someConsoleApp.exe -k Something -i -user Bob"
I Tried Fileinfo, Path.GetFileName und andere verwenden, jedes Mal, das Objekt die Befehle in sich hat.
Zum Beispiel
var fileName = System.IO.Path.GetFileName(p);
Console.WriteLine(fileName);
Ausgang
someConsoleApp.exe -k Something -i -user Bob
ich nur "someConsoleApp.exe" Vorzugsweise mit Zugriff auf die Argumente erhalten möchten.
ProcessStartInfo könnte es irgendwie tun, aber es hat das gleiche Problem, FileName hat die ganze Sache und Argumente ist leer.
Nein, da die Dateien sein ** können ** haben folgende Namen: 'someConsoleApp.exe -k Etwas -i -user Bob' .Sie müssen es mit der Hand analysieren –
Warum trennen Sie diese Saite überhaupt nicht? – rinukkusu
Müssen Sie mit möglichen Leerzeichen im Pfad der EXE umgehen? Und wenn ja, würde der Pfad zitiert werden? Das ist wirklich die einzige Sache, die dich davon abhalten könnte, nur den Weltraum zu teilen. – juharr