
Ich bin in der Eingabeaufforderung von Windows 7. Wenn ich den folgenden Befehl ausführe
"C:\Program Files\abc.exe" help > out.txt
abc.exe ist ein Drittanbieterprogramm, das einige Informationen anzeigt. Dabei öffnet sich ein neues Fenster, abc.exe druckt die Ausgabe in das neue Fenster, das Fenster schließt sich dann und ich gelange zurück zu meinem ursprünglichen Fenster. Die Datei out.txt bleibt leer.
Wie kann ich verhindern, dass abc.exe ein neues Fenster öffnet? Kann ich es zwingen, seine Ausgabe im selben Originalfenster anzuzeigen, sodass sie zu out.txt umgeleitet werden kann?
Antwort1
Ich konnte das lösen.
In Windows gibt es eine Option namens „Eingabeaufforderung als Administrator öffnen“. In diesem Fall öffnet sich kein neues Fenster.
Antwort2
Es kann sein, dass die Anwendung nicht auf STDOUT oder STDERR ausgibt, aber versuchen Sie dies
"C:\Program Files\abc.exe" help > out.txt 2>&1
Antwort3
Ich hatte das gleiche Problem. Die Ausführung als Administrator würde das Problem lösen, aber das konnte keine akzeptable Lösung sein, da auch Nicht-Administratoren dieses Problem hatten. Die Idee mit der Ausgabeumleitung hat nicht geholfen, da sie die Ausgabe von der Eingabeaufforderung ohne erhöhte Rechte umgeleitet hätte – die keine Ausgabe hatte. Es wird also nur eine leere Datei erstellt.
Mein Problem war, dass die .exe, die ich aufgerufen habe, so konfiguriert war, dass sie mit erhöhten Rechten ausgeführt wurde. Die Eingabeaufforderung, von der aus ich sie gestartet habe, wurde nicht als Administrator ausgeführt und kann nach dem Start nicht mit erhöhten Rechten ausgeführt werden. Daher wurde ein neues Fenster mit erhöhten Rechten geöffnet, um den Befehl auszuführen, der im Handumdrehen abgeschlossen und dann beendet wurde, sodass ich mit meiner Eingabeaufforderung ohne erhöhte Rechte ohne Ausgabe zurückblieb.
Lösung A: Führen Sie cmd/PowerShell als Administrator aus. Dann kann es im selben Fenster ausgeführt werden. Lösung B: Ändern Sie die EXE-Datei so, dass sie nicht als Administrator ausgeführt wird, sodass kein neues Fenster mit erhöhten Rechten geöffnet werden muss. Diese Option habe ich gewählt.