Board logo

标题: [其他] [已解决]批处理调节窗口大小的命令在Windows 11 下不起作用? [打印本页]

作者: thp2008    时间: 2023-9-9 16:45     标题: [已解决]批处理调节窗口大小的命令在Windows 11 下不起作用?

本帖最后由 thp2008 于 2023-9-30 10:57 编辑
  1. mode con cols=100 lines=80
复制代码
这个控制窗口大小的命令,怎么在Windows 11 命令提示符,批处理下不起作用。
作者: Five66    时间: 2023-9-9 17:16

打开cmd,鼠标右键标题栏->属性->布局,然后在里面设置
作者: thp2008    时间: 2023-9-9 17:26

打开cmd,鼠标右键标题栏->属性->布局,然后在里面设置
Five66 发表于 2023-9-9 17:16


Windows 11 的命令提示符里面已经没有了这个设置选项,而且我是想通过批处理去控制窗口的大小,如果只是单次改变大小,我直接鼠标拖动就好了。
作者: Five66    时间: 2023-9-9 17:44

直接注册表修改窗口大小不知行否
  1. reg add "HKCU\Console" /t REG_DWORD /v WindowSize /d 0x00640050 /f
复制代码

作者: thp2008    时间: 2023-9-9 17:59

本帖最后由 thp2008 于 2023-9-9 18:02 编辑

我测试了一下,发现值改了,会变化,无论是现在的窗口,还是新打开的窗口都没有变化,都是默认大小,看样子,Windows 11有些变化。
  1. C:\>reg query "HKCU\Console" /v WindowSize
  2. HKEY_CURRENT_USER\Console
  3.     WindowSize    REG_DWORD    0x1e0078
  4. C:\>reg add "HKCU\Console" /t REG_DWORD /v WindowSize /d 0x00640050 /f
  5. 操作成功完成。
  6. C:\>reg query "HKCU\Console" /v WindowSize
  7. HKEY_CURRENT_USER\Console
  8.     WindowSize    REG_DWORD    0x640050
复制代码

作者: Five66    时间: 2023-9-9 18:11

回复 5# thp2008


    也许是通过快捷方式(lnk)打开的,试试直接打开cmd.exe(?)
作者: thp2008    时间: 2023-9-9 18:16

本帖最后由 thp2008 于 2023-9-9 18:19 编辑

我找到窗口的设置了,要在上面黑色边框的中间空白区域,右键,点设置,现在窗口的大小,由Windows控制了,只能设置全局大小,也就是启动时窗口的大小,设置后,保存。再打开,就变成你想要的大小。但是不能每个批处理,一种不一样的大小。
看提示,好像是要通过配置文件去调整。
作者: BingjianREMIX    时间: 2023-9-9 21:11

额...这种情况我也用到过,原因是windows terminal,如果需要mode调整窗口大小可以尝试避免让windows terminal接管运行
作者: thp2008    时间: 2023-9-9 21:16

额...这种情况我也用到过,原因是windows terminal,如果需要mode调整窗口大小可以尝试避免让windows termina ...
BingjianREMIX 发表于 2023-9-9 21:11


具体怎么做,能告知一下吗,谢谢!
作者: Nsqs    时间: 2023-9-9 23:07

本帖最后由 Nsqs 于 2023-9-9 23:09 编辑

wt的问题,一般基本没人调窗口大小吧?都是直接处理问题而已
如果是为了临时调整尺寸,那就用console方式启动,而非wt
真想解决这个问题,得写第三方或者用PowerShell 调api 让c#接管这破事代码量还不少,预计30-50行内才能搞定

思路:
先得到窗口的实际大小,然后通过相应算法转换成cmd 控制台mode con 的按行数与列数为尺寸的大小
思路是这么个思路,没写过,可能还有点小难.
真想写是可以写出来的,但没必要,主打一个麻烦

如果想永久解决这个问题,修改wt的setting.json里的数据就行了,不需要改注册表,挺麻烦的不是吗?
作者: thp2008    时间: 2023-9-30 10:56

今天无意间发现,就是将Windows终端选项里的,默认终端应用程序的值,改为Windows控制台主机就解决了,这个问题。






欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2