Jak zachować wszystkie dane wyjściowe programu w wierszu poleceń systemu Windows?

31

Załóżmy, że masz program, który daje wiele wyników. Wygląda na to, że wiersz polecenia niestety nie zachowuje wszystkiego (jest tylko do tej pory przewijanie w górę).

Czy istnieje sposób, aby to wszystko zatrzymać?

Nataniel
źródło

Odpowiedzi:

28

Zwiększenie rozmiaru bufora jest najlepszym sposobem, jeśli chcesz tylko przewinąć w górę i zobaczyć dane wyjściowe, które możesz skonfigurować we właściwościach.

Jeśli dołączasz się do pliku, prawdopodobnie będziesz także chciał błędów w przypadku, gdy wystąpią:

C: \> somecommand.exe> ​​„C: \ path \ to \ output.txt” 2> i 1

Jeśli chcesz mieć pager, jest morelub mniej dla Windows .

przykład:

C: \> somecommand.exe | mniej

następnie możesz użyć fdo przewijania bdo przodu lub do tyłu.

John T.
źródło
Myślę, że najbardziej wyczerpująca odpowiedź. Tak się składa, że ​​to John T. Co wiesz.
Nathaniel
@Nathaniel, czy to zła rzecz = [] ... :)
John T
Nie, po prostu lubię szturchać ciebie i Molly. Nie sądzę, że tak naprawdę chciałbym tyle punktów. Nie wygląda tak ładnie po imieniu.
Nathaniel
@JohnT, Jakie są polecenia cmd (w przeciwieństwie do interfejsu użytkownika), aby zwiększyć rozmiar bufora?
Pacerier,
1
FYI, trzeba skonfigurować Layout> Screen Buffer Size> Heightnie Options> Command History> Buffer Size.
mythofechelon
8

Aby przechwycić dane wyjściowe do pliku, zobacz inne odpowiedzi. Możesz także zwiększyć ilość tekstu, którą możesz przewinąć do tyłu i zobaczyć do limitu.

Po otwarciu okna wiersza polecenia kliknij ikonę [C:] na pasku tytułu, aby wyświetlić menu i wybrać właściwości. Na karcie Układ zmień Rozmiar bufora ekranu -> Wysokość na 9999. Pozwoli ci to przewinąć tyle linii w oknie.

Donald Byrd
źródło
7

Czy używasz systemu Windows XP, jeśli tak, możesz dołączyć do polecenia | more

Alternatywnie możesz użyć

operatory przekierowywania poleceń

.
Ta strona zawiera więcej informacji dla Ciebie.

Kevin Boyd
źródło
3
moreistnieje od czasów średniowiecza DOS ...
Joey
5

Wyślij wyniki do pliku, jak poniżej:

C:> RunMyProgram.exe > outputfile.txt
Rob Farley
źródło
+1 Miałem zamiar odpowiedzieć na to pytanie, ale szukałem lepszego sposobu i go nie widziałem. Możesz zwiększyć rozmiar bufora do 999 i liczbę buforów do 999, ale w zależności od tego, jak duża jest „duża ilość danych wyjściowych”, może to być niepraktyczne, szczególnie gdy idziesz, aby je zapisać. Twój program wymaga interakcji użytkownika, musisz przeczytać plik tekstowy, aby wiedzieć, jakie jest pytanie, abyś mógł na nie odpowiedzieć. Szkoda, że ​​Windows nie ma sposobu na zrzucenie dziennika i utrzymanie normalnych buforów wyświetlania.
Scott McClenning
@Scott: Liczba buforów wyjściowych nie ma znaczenia dla liczby wierszy, które można wyświetlić. W pewnym sensie są jak bufory klatek dla grafiki; możesz do nich pisać i przełączać wyświetlacz na inny. Rozmiar bufora wzrasta jednak do 9999, co powinno wystarczyć dla większości potrzeb.
Joey
3

możesz zwiększyć rozmiar bufora w historii poleceń (domyślnie 50) we właściwościach. możesz spróbować czegoś takiego jak 500 lub nawet 5000, niż powinieneś być w stanie przewijać o wiele więcej.

innym sposobem jest przekierowanie danych wyjściowych do pliku za pomocą znaku „>”:

dawny:

C:> someCommand> output.txt

niż otwórz plik txt i powinieneś zobaczyć tam dane wyjściowe polecenia.

Decio Lira
źródło