Shell Command Auslesen
Problem:
Eine von mir gekaufte Software [A] (Szenerien Generator) startet eine seperat gekaufte Software [B] (Visualisierungs-Engine) via Dos Shell (Hardcoded in Software[A]) durch Aufruf der *.exe mit den benötigten Szenario-Parametern und schließt die Shell anschließend automatisch wieder (weder das Betrachten des Aufrufs noch das Drücken des Pause-Taste ist möglich).
Nun möchte ich jedoch Software[B] händisch mit selbst gewählten Parametern zur Visualisierung starten, ohne die Verwendung von Software [A], es gibt jedoch weder eine Schnittstellenbeschreibung noch eine /help oder /? funktion in der *.exe Datei
Frage: Gibt es eine Möglichkeit, den in der DOS-Shell aufgerufenen Befehl von Software[A] extern zu protokollieren bzw. auszulesen ?
Vielen Dank,
Gruß,
KaiOo
Eine von mir gekaufte Software [A] (Szenerien Generator) startet eine seperat gekaufte Software [B] (Visualisierungs-Engine) via Dos Shell (Hardcoded in Software[A]) durch Aufruf der *.exe mit den benötigten Szenario-Parametern und schließt die Shell anschließend automatisch wieder (weder das Betrachten des Aufrufs noch das Drücken des Pause-Taste ist möglich).
Nun möchte ich jedoch Software[B] händisch mit selbst gewählten Parametern zur Visualisierung starten, ohne die Verwendung von Software [A], es gibt jedoch weder eine Schnittstellenbeschreibung noch eine /help oder /? funktion in der *.exe Datei
Frage: Gibt es eine Möglichkeit, den in der DOS-Shell aufgerufenen Befehl von Software[A] extern zu protokollieren bzw. auszulesen ?
Vielen Dank,
Gruß,
KaiOo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 98261
Url: https://administrator.de/forum/shell-command-auslesen-98261.html
Ausgedruckt am: 20.04.2025 um 16:04 Uhr
3 Kommentare
Neuester Kommentar

Servus,
machs mal so herum:
Gruß
machs mal so herum:
- kopiere Notepad.exe dorthin - wo Programm b liegt.
- gib Programm B den Namen "ProgramB.exe"
- gib der Notepad kopie den "richtigen Namen" von ProgrammB
- starte Programm A
- "merke dir die Fehlermeldung, die im Notepad Popupfenster steht
Gruß
Hallo Kaioo2509!
Falls Software [B] lange genug läuft, dass Du zwischenzeitlich den folgenden Batch ausführen kannst, sollte die beim Aufruf verwendete Kommandozeile angezeigt werden:
Anstelle von "calc.exe" ist in Zeile 2 natürlich der Name (ohne Pfadangabe) der "Software [B].exe-Datei" einzutragen, und die Zeilen 4 bis 6 dienen nur als Demo unter Verwendung des Windows-Rechners (der die angegebenen Parameter nicht weiter übel nimmt
) und können ersatzlos gestrichen werden ...
Grüße
bastla
Falls Software [B] lange genug läuft, dass Du zwischenzeitlich den folgenden Batch ausführen kannst, sollte die beim Aufruf verwendete Kommandozeile angezeigt werden:
@echo off & setlocal
set "Prog=calc.exe"
rem Demo
start "Demo" "%Systemroot%\System32\calc" /mit /diesen /sinnlosen /Parametern
rem
set G=%temp%\GetCommandline.vbs
>%G% echo Set WMI=GetObject("winmgmts:\\.\root\CIMV2"):Set Items= _
>>%G% echo WMI.ExecQuery("SELECT * FROM Win32_Process WHERE name='%Prog%'")
>>%G% echo For Each Item In Items: WScript.Echo Item.CommandLine:Next
cscript //nologo %G%
pause
Grüße
bastla