Wie erkenne ich mögliche Parameterkombinationen, die eine per cmd ausgeführte EXE-Datei annehmen kann?

Wie erkenne ich mögliche Parameterkombinationen, die eine per cmd ausgeführte EXE-Datei annehmen kann?

Sie können einige EXE-Dateien von cmd.exe aus ausführen und dabei Argumente angeben.

Beispiel

P:\foo\boo “” user pass P:\system\ company foo –P boo

Gibt es eine Möglichkeit, herauszufinden, welche Parameter eine EXE annehmen kann?

Offensichtlich habe ich keinen Zugriff auf den Quellcode einer bestimmten EXE. Ich versuche nur herauszufinden, ob es ohne Benutzerhandbuch/Dokumente möglich ist, tatsächlich zu wissen, welche Parameter übergeben werden können. Ich bin offen für eine Lösung mit Reflexion in C# usw.

Alle Erkenntnisse hierzu werden sehr hilfreich sein

Antwort1

Als erstes sollten Sie versuchen, die EXE-Datei in der Eingabeaufforderung auszuführen, mit /?der die Hilfeseite für einen bestimmten Befehl/ein bestimmtes Programm angezeigt wird, z. B.fc /?

/A Displays only first and last lines for each set of differences.
/B Performs a binary comparison.
/C Disregards the case of letters.
...

Alternativ können Sie eingeben, help executableNamewas dasselbe bewirkt.

Dies funktioniert möglicherweise auch bei einigen Programmen von Drittanbietern, sofern diese für die Verwendung mit der Eingabeaufforderung vorgesehen sind. Davon gibt es jedoch nicht viele.

Antwort2

Process Explorerhat die Funktionalität, dies zu tun. Öffnen Sie Ihr Programm wie gewohnt und starten Sie dann den Prozess-Explorer. Öffnen Sie seine Eigenschaften und sehen Sie sich die Registerkarte „Strings“ an. Die meisten dieser Strings haben keine Bedeutung, aber die, die es sind, könnten durchaus Befehlszeilenschalter sein. Testen Sie sie nacheinander, bis Sie eine endgültige Liste haben. Wenn es eine einfachere Methode gibt, weiß ich leider nicht, welche!

verwandte Informationen