从命令行更改命令提示符宽度

Sta*_*ers 3 windows windows-7 command-line ruby

真的不知道我还能说什么。下面捕获的那个窗口根本不会变大。是否有一些设置可以让我调整它的大小?

命令提示符

看,这个有限的窗口东西让我有点不高兴。基本上我已经创建了一个带有命令行 GUI(使用 Ruby 的 Curses 库)的应用程序,虽然在 OSX 和 Ubuntu 终端上一切正常,但使用命令提示符,如果 Curses 窗口比命令提示符窗口大,如下所示,整个应用程序因“窗口已关闭”错误而崩溃。

那么,是否有允许用户调整其命令提示符窗口大小的设置,我必须将其放入文档中。

不过,这就是圣杯的答案:

有没有办法从命令行执行此操作?我的应用程序能否检测到它运行的命令提示符是否具有固定宽度,并实际以编程方式运行命令以允许放大命令提示符窗口?或者至少给用户一个有用的错误信息?

phu*_*clv 6

您可以通过命令更改 mode con

例如将大小更改为 120x40

mode con:cols=120 lines=40
Run Code Online (Sandbox Code Playgroud)

您还可以通过指定colslines

mode con: lines=40
Run Code Online (Sandbox Code Playgroud)

con:cols或之间的空格lines是可选的

我不知道 Ruby 是否可以访问 windows API,但是您可以执行上述命令来根据需要更改大小。如果它不支持直接运行命令,那么你可以通过cmd运行它

cmd.exe /c mode con:cols=NUMCOLS lines=NUMLINES
Run Code Online (Sandbox Code Playgroud)

对于其他一些语言,您可以通过控制台 API 直接更改控制台窗口的大小

mode con:cols=120 lines=40
Run Code Online (Sandbox Code Playgroud)

编辑:更短的命令

mode WIDTH,HEIGHT
mode 120,40
Run Code Online (Sandbox Code Playgroud)

这是模式命令的一个未记录的功能

Syntax
...
   Display size - number of columns wide and number of lines deep:
      MODE CON[:] [COLS=c] [LINES=n]

   undocumented) abbreviated version of the above:
      MODE Cols, Lines
Run Code Online (Sandbox Code Playgroud)