Почему Windows cmd.exe ограничен 80 широкими символами?

Чтобы клонировать объект класса, вы можете использовать метод Object.MemberwiseClone,

просто добавьте эту функцию в свой класс:

public class yourClass
{
    // ...
    // ...

    public yourClass DeepCopy()
    {
        yourClass othercopy = (yourClass)this.MemberwiseClone();
        return othercopy;
    }
}

, чтобы выполнить глубокую независимую копию, просто вызовите метод DeepCopy:

yourClass newLine = oldLine.DeepCopy();

надеюсь, что это поможет.

101
задан erickson 4 June 2009 в 02:57
поделиться

11 ответов

Это не. Можно щелкнуть правой кнопкой по строке заголовка, выбрать свойства, и в "Layout" вкладка изменяет экранный размер буфера (ширина строки и scrollback) и размер окна (размер области просмотра). При запуске cmd с ярлыка можно сохранить эти настройки для будущих сессий.

146
ответ дан erickson 24 November 2019 в 04:36
поделиться

Если Вы являетесь страдающими фобией мышью, можно также просто ввести эту внутреннюю часть cmd окно:

mode <cols>,<lines>
mode 80,25
mode 120,50
etc.
108
ответ дан jmucchiello 24 November 2019 в 04:36
поделиться

Это не ограничено.

  1. Выполнение cmd.exe
  2. Нажимает на значок на верхнем левом из экрана.
  3. Избранные Свойства
  4. Выбор вкладка Layout.
  5. Набор буфер и ширины окна к тому, что Вы любите.
  6. Нажимают "OK"
  7. Избранные Свойства Сохранения для будущего...
  8. Нажимают "OK".

Вы могли бы хотеть проверить Консоль . Это - приложение с открытым исходным кодом, которое позволяет Вам выполнить несколько оболочек в среде с вкладками. Можно также установить альфа-прозрачность оболочек.

43
ответ дан Tim Stewart 24 November 2019 в 04:36
поделиться

Я не знаю историю позади него, но этот объект списка пожеланий от автора PuTTy является интересным сообщением, которое объясняет технические препятствия, связанные с любым типом замены cmd.exe, которая не является Ламе:

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html

Вы не упоминаете поиск замены но раз так Вы могли бы также проверить некоторые замены cmd.exe как , Консоль 2 или JP Software Принимает Управление и т.д. У меня также был некоторый хороший опыт со ШПАКЛЕВКОЙ-Cyg, которая позволяет Вам использовать PuTTy в качестве оболочки cygwin.

6
ответ дан Jay 24 November 2019 в 04:36
поделиться

В то время как ширина не ограничена, поскольку другие ответы показывают, я всегда находил его странным, что можно перетащить и изменить размеры высота с мышью, но не ширина .

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

6
ответ дан Greg Hewgill 24 November 2019 в 04:36
поделиться

Как другие указали, это не ограничено 80 широкими символами, но мое предположение относительно того, почему это принимает значение по умолчанию к 80 символам, был бы то, что это перенесено со дней DOS, где дисплеи CRT были 80 широкими символами.

См. также

4
ответ дан Patrick Cuff 24 November 2019 в 04:36
поделиться

Поскольку значение MS "назад совместимость" по большому количеству вещей и в этом случае я подозреваю, что это - неуместная вера, что это так или иначе расстроит людей, если у них не будет своих стандартных 80 широких окон.

, Конечно, могло случиться так, что это было запрограммировано для фиксированных 80 ширин символов, когда это было в значительной степени универсально, и настройки дополнительного свойства были определенным взломом.

1
ответ дан Draemon 24 November 2019 в 04:36
поделиться

Это ограничено.Попробуйте. (Я имею в виду размер окна, НЕ буферный)

, Вы найдете, что максимальная ширина, которую можно установить, ограничена, но варьируется согласно разрешению экрана. Если Ваше разрешение будет установлено на 1024 x 768, то Вы найдете, что можно только добраться до 128 на ширине командной строки. 128/1024 =. 125

Вы найдете что отношение быть последовательными через плату. Я имею сессию RDP, работающую в 2000x768 (через два из моих трех мониторов), и получаю макс. ширину 250.

Теперь, который на самом деле оказывается немного больше, чем Ваш фактический размер монитора, но у меня есть три монитора все рабочие отдельные рабочие столы. (так в сущности, 3 1024x768 разрешения) и если я хочу сделать что-то СТОЛЬ ЖЕ ПРОСТОЕ как фрагмент командная строка через 2 или больше монитора, я не МОГУ. (Я хочу при выполнении вещей с очень длинными путями (diruse.exe/etc)....

-c

1
ответ дан 24 November 2019 в 04:36
поделиться

Так как это прокрутит слева направо, а также вверх и вниз, самая первая вещь, которую я делаю в системе, определяют мою ширину как 180 и сохраняют его. Это обычно достаточно так, чтобы отслеживания стека не переносились по большей части, но не так, что Вы - waisting тонна пространства.

, В то время как Вы в нем, устанавливает вертикальный размер (scrollback буфер) ко всем 9's. Вы будете радоваться, что сделали однажды.

0
ответ дан Bill K 24 November 2019 в 04:36
поделиться

Вы также можете использовать другое приложение терминала, такое как Console2 , которое позволяет изменять размер окна по своему усмотрению (среди прочего, например, прозрачность и возможность использовать любой шрифт по вашему желанию). Это отличное приложение, я перешел на него и теперь использую cmd.exe только тогда, когда это абсолютно необходимо.

2
ответ дан 24 November 2019 в 04:36
поделиться

RE: Поскольку MS ценит "обратную совместимость" по многим вещам, и в данном случае я подозреваю, что это неуместное убеждение, что это как-то расстроит людей, если у них не будет стандартного 80 window.

Однако обратная совместимость работает ужасно. Я не думаю, что Microsoft достаточно тщательно проработала его реализацию, и я действительно верю, что Microsoft - это пример того, что новые версии не будут работать со старыми. Многое не работает должным образом под COMMAND.COM, что значительно снижает полезность, которой он обладает, не говоря уже о том, что вам нужно вводить DOSONLY, чтобы некоторые программы работали правильно, плюс Microsoft удаляет полезные команды. Честно говоря, я не могу представить, чтобы Microsoft уделяла большое внимание «обратной совместимости».

Кроме того, я думаю, что настоящая причина того, что длина строки составляет стандартную 80 столбцов, заключается в том, что большинство программ командной строки и т. Д. Работают в предположении, что пользователь ограничен приглашением в 80 столбцов, что означает, что увеличение width может вызвать ошибки форматирования или, что еще хуже, может привести к поломке программ в целом.

Как упоминал jmucchiello, MODE отлично подойдет для изменения размера окна, если вы захотите.

Configures system devices.

Serial port:       MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]

Device Status:     MODE [device] [/STATUS]

Redirect printing: MODE LPTn[:]=COMm[:]

Select code page:  MODE CON[:] CP SELECT=yyy

Code page status:  MODE CON[:] CP [/STATUS]

Display mode:      MODE CON[:] [COLS=c] [LINES=n]

Typematic rate:    MODE CON[:] [RATE=r DELAY=d]

Если у вас включен DOSONLY на вашем CONFIG.NT, однако, когда вы открываете COMMAND.COM, он унаследует правильное разрешение строки в стиле DOS от cmd.exe, но вы не можете вызвать MODE из COMMAND.COM. Если вы хотите изменить размер в COMMAND.COM, вам придется использовать 16-битные инструкции сборки, например:

80x50 Line Resolution (Без буфера кадра, без SVGA, поддерживается практически повсеместно.

DEBUG
A100
MOV AX,4F02
MOV BX,010C
INT 10
INT 20

G Q

Если вы введете это на вашем COMMAND.COM, это даст вам указанное разрешение. (Предупреждение: если ваш монитор достаточно древний, чтобы не поддерживать этот режим, вы можете его уничтожить. Примечание: если вы можете запустить Windows, с вашим монитором все будет в порядке. Отказ от ответственности: акцент на «должен», и вы были предупреждены , так что это не моя проблема, если ваш монитор жарит. ;-) Однако, если вы используете это без включенного DOSONLY, COMMAND.COM вернется к своему предыдущему размеру, как только приложение (в этом случае, если вы не записали его в файл и выполнил его, DEBUG) завершился.

В качестве альтернативы вы можете использовать MODE.COM FreeDOS, который будет правильно работать под COMMAND.COM, установленным на DOSONLY. Вы можете либо загрузить его из образа диска на официальном сайте (freedos.org), либо получить его по адресу http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode /2005/.

New FreeDOS MODE by Eric Auer 2003-2005. License: GPL.   (version 12may2005)
MODE [device] [/STA[TUS]]                (show status of one or all devices)
MODE LPTn[:] cols[,[lines][,retry]]     (cols or cpi, 6/8 lpi, retry p or n)
MODE LPTn[:] [COLS=...] [LINES=...] [RETRY=...] (retry: p infinite / n none)
MODE LPTn[:]=[COMn[:]|NUL]     (redirect printer data to serial port or NUL)
MODE COMn[:] baud,parity,data,stop,retry              (empty values allowed)
MODE COMn[:] [BAUD[HARD]=...] [PARITY=...] [DATA=...] [STOP=...] [RETRY=...]
  Baud can be abbreviated to unique prefix,  parity can be o/e/n/s/m,  the
  latter 2 mean space/mark, data can be 5..8, stop 1..2. Retry is IGNORED!
  PLANNED: Retry b/e/r -> busy/error/ready if busy, p/n infinite/no retry.
MODE CON[:] [CP|CODEPAGE] [/STA[TUS]]       (FreeDOS DISPLAY must be loaded)
MODE CON[:] [CP|CODEPAGE] REF[RESH]                          (needs DISPLAY)
MODE CON[:] [CP|CODEPAGE] SEL[ECT]=number                    (needs DISPLAY)
MODE CON[:] [CP|CODEPAGE] PREP[ARE]=((codepage) filename)    (needs DISPLAY)
  Use PREP=((,cp2,cp3,,cp5) ...) to prep codepages in other buffers.
MODE [40|80|BW40|BW80|CO40|CO80|MONO][,rows]  (rows can be 25, 28, 43 or 50)
  Use 8, 14 or 16 as 'rows' value if you only want to change the font.
MODE [CO40|CO80|...],[R|L][,T] (shift CGA left/right, T is interactive mode)
MODE CON[:] [NUMLOCK|CAPSLOCK|SCROLLLOCK|SWITCHAR]=value
  Value can be: + or - for the locks or a character for switchar.
MODE CON[:] [COLS=...] [LINES=...] (possible values depend on your hardware)
MODE CON[:] [RATE=...] [DELAY=...]        (default rate 20, default delay 1)
  Rate can be 1..32 for 2..30 char/sec,  delay can be 1..4 for 1/4..4/4 sec.

По тем же причинам, что и в случае с кодом ASM, который я предоставил, если вы не выполните его в COMMAND.COM с DOSONLY, добавленным в ваш файл CONFIG.NT, окно сразу же вернется к своему предыдущему размеру один раз. MODE.COM завершается.

Наконец, как утверждали другие, также можно изменить эти настройки, просто щелкнув правой кнопкой мыши строку заголовка командной строки и изменив Свойства -> Макет. Точно так же вы можете установить разрешение для любых ярлыков CMD.EXE и командных файлов (щелкните правой кнопкой мыши ярлык -> Свойства -> Макет).

17
ответ дан 24 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: