28

是否可以通过编程或其他方式增加 Windows 控制台窗口的宽度?或者我是否需要创建一个外观和行为类似于控制台的包装程序?周围是否有任何程序可以做到这一点?我在开发中广泛使用 Cygwin,Windows 中的所有控制台窗口都受到宽度限制,这对我来说似乎有点荒谬。

如果这很重要,我正在运行 Windows XP。

4

11 回答 11

57

只需运行“mode cols,lines”即可更改当前控制台窗口的大小:

模式 120,60

将控制台窗口的大小调整为 120 列和 60 行

于 2009-03-08T15:32:55.780 回答
21

您可以通过右键单击托盘图标并进入选项对话框来手动增加它。

也有适用于 Windows 的第三方终端模拟器,例如Console

控制台截图

于 2008-10-10T08:46:40.070 回答
10
system("mode 45, 20");

这是一个糟糕的解决方案,因为它禁用了垂直滚动。

这个更好:

system("mode CON: COLS=120");
于 2012-02-28T19:28:32.373 回答
9

有一个窗口的api函数来设置宽度。这是一个tutu。 http://www.adrianxw.dk/SoftwareSite/Consoles/Consoles6.html

于 2008-12-21T18:35:43.907 回答
6

如果您右键单击命令窗口的标题栏并选择属性,您可以在布局选项卡中更改宽度

于 2008-10-10T08:45:45.127 回答
5

如果您正在编写 C#,这是一种对我有用的方法(来自本页底部)

static void setConsoleSize()
   {
       System.Console.SetWindowPosition(0,0);   // sets window position to upper left
       System.Console.SetBufferSize(200,300);   // make sure buffer is bigger than window
       System.Console.SetWindowSize(122,54);   //set window size to almost full screen 
       //width - maxSet(127,57) (width, height)

       //System.Console.ResetColor(); //resets fore and background colors to default

   }  // End  setConsoleSize()

从帖子中引用:“我可以使用的最大控制台大小是 127 列和 57 行,因为这是我的屏幕分辨率所允许的全部。重置你的屏幕分辨率,这将会改变。

这只是您将不得不玩弄的那些事情之一,以便您可以随心所欲地显示它。"

于 2015-06-18T15:07:45.610 回答
2

mode 

system("mode... 

解决方案对我不起作用,我无法在没有访问错误的情况下设置布局。

修复是关闭 Cygwin,右键单击开始菜单中图标的属性并编辑布局 -> 窗口 -> 高度,然后选择允许管理员权限保存设置。(不以管理员身份运行)。

现在运行 Cygwin 时总是给我一个大窗口。

视窗 7 64 位。

于 2012-01-13T10:20:00.993 回答
1

要获得特定大小的所有未来控制台窗口,您可以创建 cmd.exe 的快捷方式,然后在快捷方式属性的布局选项卡上设置大小。

于 2008-10-10T09:07:54.957 回答
1

在布局选项卡的控制台属性中,您可以配置以下内容:

屏幕缓冲区大小宽度

窗口大小宽度

窗口大小宽度是每行可见的字符数。屏幕缓冲区大小是size行的。例如,如果将窗口大小宽度设置为 100,将屏幕缓冲区大小宽度设置为 200,则需要使用滚动条查看大小在 100 到 200 之间的行的全部内容。超过 200 个字符的行将出现在更多不止一条线。如果您有很长的行并且想要将它们复制到文本文件中,这将很有用。

同样的事情也适用于 Windows PowerShell

于 2008-10-10T09:09:49.790 回答
1

嘿,你们有没有想过从 Windows 命令提示符/控制台中启动和运行 Cygwin 的可能性?这就是我一直在做的事情。然后你可以对控制台的外观做任何你想做的事情,让它变得性感。

有时尝试从 cygwin 中获取 su 可能很困难,尤其是当您尝试使用提供的工具进行一些繁重的运算时。人们已经尝试过各种各样的事情,从 sudo SU for windows 到任何事情......当它可以像从你那里传递管理员凭据一样简单时,即使没有奇怪的 UAC 弹出窗口(如果你是管理员?) . 您可以通过一个简单的批处理脚本来执行此操作。下面是我的 Cygwin 外观的屏幕截图,它也是从 Cygwin 的便携式版本运行的!没有注册表项和任何垃圾!
批处理文件将凭据传递给 bash,然后 bash 更改目录(请注意,需要双引号将此变量传递给 Cygwin colsole 以使其工作)

@echo off
setlocal enabledelayedexpansion
REM Changing working folder back to current directory
%~d0
CD %~dp0
REM Folder changed
bash --login -i -c "cd {insert_directory_name_here} && exec ./execution-file-here"
cls
exit 1

注意:上面示例中的 { } 等括号不包含在批处理脚本中。另请注意,Windows CMD 窗口正在将字符串传递给 cygwin 以解释为多个条件;cygwin 不会自己阅读引号,而是阅读它们之间的内容。&& 表示更改目录,当你到达那里时执行脚本 ./execution-file-here。

这是一个双重打击,您可以从 MS-Windows 窗口中启动 Cygwin 或类似 linux 的应用程序,甚至无需键入代码字母或打开控制台或任何东西。

我将此批处理文件保存在 /Cygwin/bin 目录中,并在桌面上创建一个 Windows 快捷方式链接。在快捷方式中,我可以对 cmd shell 窗口进行样式化。甚至达到透明度;-)

在此处输入图像描述

在此处输入图像描述

于 2012-06-20T13:55:27.477 回答
0

单击控制台框架左上角的图标(看起来像“C:\”的图标),然后选择 Properties 。这使您可以自定义各种东西。“布局”选项卡具有窗口的宽度。

于 2008-10-10T08:46:51.833 回答