Wie behalte ich die gesamte Ausgabe eines Programms in der Windows-Befehlszeile?

31

Angenommen, Sie haben ein Programm, das viel Ausgabe liefert. Es scheint, dass die Eingabeaufforderung leider nicht alle Informationen enthält (Sie können nur so weit nach oben scrollen).

Gibt es eine Möglichkeit, alles zu behalten?

Nathaniel
quelle

Antworten:

28

Das Erhöhen der Puffergröße ist der beste Weg, wenn Sie nur einen Bildlauf nach oben durchführen und die Ausgabe sehen möchten, die Sie in den Eigenschaften konfigurieren können.

Wenn Sie an eine Datei anhängen, möchten Sie wahrscheinlich auch die Fehler für den Fall, dass es welche gibt:

C: \> somecommand.exe> ​​"C: \ path \ to \ output.txt" 2> & 1

Wenn Sie einen Pager möchten, gibt es für Windowsmore oder weniger .

Beispiel:

C: \> somecommand.exe | Weniger

Sie können dann verwenden, fum vorwärts oder brückwärts zu blättern.

John T
quelle
Umfassendste Antwort, denke ich. Es ist zufällig John T. Was weißt du?
Nathaniel
@ Nathaniel, ist das eine schlechte Sache = [] ... :)
John T
Nein, ich mag es nur, dich und Molly zu stupsen. Ich glaube nicht, dass mir so viele Punkte gefallen würden. Sieht beim Namen nicht so hübsch aus.
Nathaniel
@JohnT, Was sind die cmd-Befehle (im Gegensatz zur Benutzeroberfläche), um die Puffergröße zu erhöhen?
Pacerier
1
FYI, müssen Sie configure Layout> Screen Buffer Size> Heightnicht Options> Command History> Buffer Size.
Mythofechelon
8

Um nur die Ausgabe in eine Datei zu erfassen, lesen Sie die anderen Antworten. Sie können auch die Menge an Text erhöhen, die Sie zurückblättern und bis zu einer Grenze anzeigen können.

Klicken Sie bei geöffneter Eingabeaufforderung in der Titelleiste auf das Symbol [C:], um das Menü aufzurufen und Eigenschaften auszuwählen. Ändern Sie auf der Registerkarte Layout die Größe des Bildschirmpuffers -> Höhe in 9999. Auf diese Weise können Sie so viele Zeilen im Fenster zurückblättern.

Donald Byrd
quelle
7

Verwenden Sie Windows XP, wenn dies der Fall ist, und Sie Ihren Befehl anhängen könnten | more

Alternativ könnten Sie verwenden

Befehlsumleitungsoperatoren

.
Diese Seite hat mehr Informationen für Sie.

Kevin Boyd
quelle
3
moreexistiert seit dem dunklen Zeitalter von DOS ...
Joey
5

Gib die Ergebnisse in eine Datei aus:

C:> RunMyProgram.exe > outputfile.txt
Rob Farley
quelle
+1 Ich wollte antworten, habe aber nach einem besseren Weg gesucht und keinen gefunden. Sie können die Puffergröße auf 999 und die Anzahl der Puffer auf 999 erhöhen. Abhängig davon, wie groß "viel Ausgabe" ist, ist dies möglicherweise nicht praktikabel, insbesondere, wenn Sie darauf verzichten möchten. Wenn Ihr Programm eine Benutzerinteraktion erfordert, müssen Sie die Textdatei lesen, um zu wissen, was die Frage ist, damit Sie sie beantworten können. Schade, dass Windows keine Möglichkeit hat, ein Protokoll zu sichern und die Anzeigepuffer normal zu halten.
Scott McClenning
@Scott: Die Anzahl der Ausgabepuffer spielt keine Rolle, wie viele Zeilen angezeigt werden können. In gewisser Weise sind sie wie Frame-Puffer für Grafiken. Sie können darauf schreiben und die Anzeige auf eine andere umschalten. Die Puffergröße reicht jedoch bis zu 9999, was für die meisten Anforderungen ausreichen dürfte.
Joey
3

Sie können die Puffergröße im Befehlsverlauf (standardmäßig 50) in den Eigenschaften erhöhen. Sie könnten versuchen, etwas wie 500 oder sogar 5000, als Sie in der Lage sein sollten, viel mehr zu scrollen.

Eine andere Möglichkeit besteht darin, die Ausgabe mit dem Zeichen ">" in eine Datei umzuleiten:

Ex:

C:> someCommand> output.txt

dann öffne die txt Datei und du solltest dort die Ausgabe für den Befehl sehen.

Decio Lira
quelle