Answers:
不是。您可以右键单击标题栏,选择属性,然后在“布局”选项卡中更改屏幕缓冲区大小(行宽和回滚)和窗口大小(视口大小)。如果从快捷方式启动cmd,则可以保存这些设置以供将来的会话使用。
RE:因为MS重视很多方面的“向后兼容性”,在这种情况下,我怀疑这是一个错误的看法,即如果人们没有标准的80宽窗口,它将以某种方式使人们感到不安。
但是,向后兼容性非常糟糕。我不认为微软会非常彻底地实施它,而且我确实相信微软是确保新版本在旧版本上不起作用的先驱。在COMMAND.COM下,很多功能无法正常运行,这大大破坏了它的实用性,更不用说您必须输入DOSONLY才能使某些程序正常运行,此外Microsoft一直在删除有用的命令。老实说,我无法想象微软会高度重视“向后兼容性”。
此外,我认为行长为80列标准的真正原因是因为大多数命令行程序等都是在假设用户限制了80列提示的情况下运行的,这意味着增加宽度会导致格式化错误或更坏的情况可能会完全破坏程序。
正如jmucchiello所提到的,如果您愿意,MODE可以很好地调整窗口大小。
配置系统设备。 串行端口: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] 设备状态:MODE [设备] [/ STATUS] 重定向打印:MODE LPTn [:] = COMm [:] 选择代码页:MODE CON [:] CP SELECT = yyy 代码页状态:MODE CON [:] CP [/ STATUS] 显示模式:MODE CON [:] [COLS = c] [LINES = n] 打字速度:MODE CON [:] [RATE = r DELAY = d]
但是,如果在CONFIG.NT上启用了DOSONLY,则当您打开COMMAND.COM时,它将从cmd.exe继承适当的DOS样式的行分辨率,但是您不能从COMMAND.COM内部调用MODE。如果要在COMMAND.COM中调整大小,则必须使用16位汇编指令,如下所示:
80x50线分辨率(无帧缓冲区,无SVGA,几乎普遍支持。)
调试 A100 MOV AX,1112 INT 10 INT 20 G 问
132x60线分辨率(无帧缓冲区,需要SVGA。不适用于ATI gfx卡,通常适用于nVidia gfx卡,afaict始终适用于Intel集成gfx卡。)
调试 A100 MOV AX,4F02 MOV BX,010C INT 10 INT 20G 问
如果您在COMMAND.COM上输入此名称,它将为您提供指定的分辨率。(警告:如果您的显示器过时而不能支持该模式,则可能会破坏它。旁注:如果您可以运行Windows,则您的显示器应该可以使用。免责声明:强调您的位置,并已收到警告。 ,因此,如果您的显示器炸了,这不是我的问题。文件并执行,则DEBUG)退出。
或者,您可以使用FreeDOS的MODE.COM,它将在COMMAND.COM设置为DOSONLY的情况下正常运行。您可以从官方网站(freedos.org)的磁盘映像中提取它,也可以在以下位置获取它http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/。
Eric Auer 2003-2005的新FreeDOS MODE。许可:GPL。(2005年5月12日版本) 模式[设备] [/ STA [TUS]](显示一个或所有设备的状态) 模式LPTn [:] cols [,[lines] [,retry]](cols或cpi,6/8 lpi,重试p或n) 模式LPTn [:] [COLS = ...] [LINES = ...] [RETRY = ...](重试:p无限/ n无) 模式LPTn [:] = [COMn [:] | NUL](将打印机数据重定向到串行端口或NUL) 模式COMn [:]波特率,奇偶校验,数据,停止,重试(允许为空值) 模式COMn [:] [BAUD [HARD] = ...] [PARITY = ...] [DATA = ...] [STOP = ...] [RETRY = ...] 波特率可以缩写为唯一前缀,奇偶校验可以为o / e / n / s / m, 后2个平均空格/标记,数据可以是5..8,停止是1..2。重试被忽略! 计划:重试b / e / r->繁忙/错误/如果繁忙则准备就绪,部件号无限/不重试。 模式CON [:] [CP | CODEPAGE] [/ STA [TUS]](必须加载FreeDOS DISPLAY) 模式CON [:] [CP | CODEPAGE] REF [RESH](需要显示) MODE CON [:] [CP | CODEPAGE] SEL [ECT] =数字(需要显示) MODE CON [:] [CP | CODEPAGE] PREP [ARE] =((codepage)文件名)(需要显示) 使用PREP =((,cp2,cp3,,cp5)...)在其他缓冲区中准备代码页。 模式[40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [,行](行可以是25、28、43或50) 如果只想更改字体,请使用8、14或16作为“行”值。 模式[CO40 | CO80 | ...],[R | L] [,T](向左/向右移动CGA,T为交互模式) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] =值 值可以是:+或-用于锁,或用于switchar的字符。 MODE CON [:] [COLS = ...] [LINES = ...](可能的值取决于您的硬件) MODE CON [:] [RATE = ...] [DELAY = ...](默认速率20,默认延迟1) 速率可以是1..32表示2..30字符/秒,延迟可以是1..4表示1 / 4..4 / 4秒。
出于与我提供的ASM代码相同的原因,除非您在COMMAND.COM中将DOSONLY添加到CONFIG.NT文件中执行它,否则一旦MODE.COM退出,该窗口将立即反弹到其先前的大小。
最后,正如其他人所述,也可以通过右键单击命令提示符的标题栏,然后修改“属性”->“布局”来修改这些设置。同样,您可以为CMD.EXE和批处理文件的任何快捷方式设置分辨率(右键单击快捷方式->属性->布局)。这仅适用于CMD.EXE,但是不适用于COMMAND.COM。
我不知道其背后的历史,但是PuTTy作者的这个愿望清单项目是一个有趣的帖子,解释了任何不la脚的cmd.exe替换所涉及的技术障碍:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
您没有提到要寻找替代产品,但是如果这样,您可能还会检查一些cmd.exe替代产品,例如Console 2或JP Software的Take Command等。我在PuTTy-方面也有一些不错的经验-可以让您将PuTTy用作cygwin外壳的Cyg。
正如其他人指出的那样,它不限于80个字符宽,但是我猜测为什么它默认为80个字符是因为它是在CRT显示为80个字符宽的DOS时代遗留下来的。
您还可以使用其他终端应用程序,例如Console2,该应用程序允许您调整窗口大小(除其他外,例如透明性以及使用所需字体的能力)。这是一个很棒的应用程序,我已经切换到它了,现在我只cmd.exe
在绝对需要时才使用。
它是有限的。看看这个。(我的意思是窗口大小不是缓冲区)
您会发现可以设置的最大宽度是有限的,但是会根据屏幕分辨率而有所不同。如果将分辨率设置为1024 x 768,您将发现只能在命令提示符宽度上达到128。128/1024 = .125
您会发现该比例在所有方面都保持一致。我有一个运行在2000x768的RDP会话(在三个监视器中的两个监视器上),最大宽度为250。
现在,实际结果比您实际使用的显示器要大一些,但我有三台显示器,它们都在单独的台式机上运行。(因此,本质上是3 1024x768分辨率),并且如果我想做一些简单的事情,例如将命令提示符扩展到2个或更多显示器上,则无法。(我想在处理路径很长的情况下(diruse.exe / etc)...
-C
这个没有关闭。因此,应该注意的是Windows Terminal现在正在改变所有这些:
https://github.com/microsoft/terminal https://www.theverge.com/2020/1/9/21059316/microsoft-windows-terminal-crt-effects-retro-search-tabs-features https:// devblogs.microsoft.com/commandline/windows-command-line-backgrounder/ https://github.com/microsoft/terminal/blob/master/doc/terminal-v1-roadmap.md https://www.microsoft.com / zh-CN / p / windows-terminal-preview / 9n0dx20hk701?activetab = pivot:overviewtab