Больше строк в командном окне

106

Есть ли возможность добавить "больше" строк в командное окно (Консоль)?

Когда я отлаживаю свои программы, я выводю в окно довольно много строк, и начало вывода продолжает исчезать за пределами диапазона. Я могу прокрутить окно назад, чтобы не видеть весь вывод с начала программы.

Как я могу заставить командное окно сохранять все строки?

(И да, я мог бы записать это в текстовый файл как журнал, но я бы хотел попробовать это для разнообразия)

FP
источник
1
это не вопрос программирования. хотя ответ: да: из окна: Alt-Space, «p» для свойств, он находится на первой вкладке этого диалогового окна.
Хит Ханникатт,

Ответы:

184

По крайней мере, в Win7 ответ Кристины теперь кажется либо ее памятью команд, набранных в командных строках, либо количеством, которое вы можете скопировать и вставить.

Чтобы увеличить память полосы прокрутки, я сделал следующее:

  • Перейти к свойствам, упомянутым Кристиной
  • Перейдите на вкладку макета (это третья)
  • Измените высоту буфера экрана - максимум 9999.

Как упоминал Джоуи в комментариях к ответу Кристины, это не будет работать с тем, что вы уже сделали - только с тем, что вы делаете после внесения изменения.

Этот ответ был первоначально написан, когда Кристина была отмечена как принятая. Теперь, когда это принятый ответ, я отредактировал свой ответ, чтобы избежать путаницы.

Скотт Мермельштейн
источник
Извините, я не ответил раньше; Я ответил в уме, пока ехал, но так и не отложил ответ. Вы, вероятно, должны сформулировать свой вопрос как отдельный вопрос, не потому, что я пытаюсь набрать очки, но чтобы подробный ответ потребовал более 600 символов, и вы могли бы добавить другие теги, чтобы получить лучшие ответы.
Скотт Мермельштейн,
Тем не менее, неожиданный ответ: маловероятно, что при стандартной пакетной обработке. Строки, которые можно прокручивать назад, являются частью окна, содержащего командную строку, а не самой подсказкой. Я заглянул внутрь, cmd /?и он не упомянул об этом. Тем не менее, я уверен, что это значение хранится где-то в реестре, и вы можете изменить настройки реестра через командную строку, так что это должно быть возможно. Я бы спросил, действительно ли это то, что вам нужно, и я не уверен, что это изменит экземпляр окна, в котором вы сейчас работаете.
Скотт Мермельштейн,
2
Работает на windows 10
Alex Egli
29

Чтобы дополнить ответ (ы) выше, также можно экспортировать строки в текстовый файл, используя > fileName.txt

Например:

myProgram.exe > output.txt // will create a new file with all the output of myProgram
Серджио
источник
1
Это великолепно!
Мостафа
1
Вы также можете добавить «2> & 1» для захвата строк STDERR.> MyProgram.exe> ​​output.txt 2> & 1 это из unix, но по какой-то причине работает и в cmd.
mauromartini
14

Если вы используете Windows, щелкните значок CMD в верхнем левом углу и перейдите в свойства.

Щелкните вкладку Параметры.

В истории команд введите или выберите 999 в поле Размер буфера, а затем введите или выберите 5 в поле Количество буферов.

Кристина Брукс
источник
Кажется, не работает, я все еще не могу прокрутить вверх ... похоже, что я выводил слишком много строк ...
FP
1
Это не влияет на то, что вы уже распечатали. То, что вышло из буфера, исчезло. После изменения вам придется снова запустить вашу программу. Также максимальный размер буфера составляет 9999 строк, вы также можете использовать это.
Джоуи
Хорошо, теперь это работает, но только после того, как я также изменил высоту буфера окна на несколько больше, чем было. Спасибо за совет :)
FP
11
Это увеличивает историю команд, которую вы можете вызвать, нажав вверх (или F7), но не размер экранного буфера. Думаю, ответ Скотта - это то, что вы ищете.
Cloudhao
пожалуйста, добавьте пробел между «или» и «выберите»
Мэнфан Ма