如何修改批处理启动的cmd.exe窗口名称(而非仅窗口标题)?
批处理窗口标题与窗口名称的区分及布局记忆方案
问题背景
在Windows 10环境下:
- 直接打开命令提示符时,窗口标题显示为「Command Prompt」,右键标题栏打开的「属性」窗口标题也为「Command Prompt」(我们称前者为窗口标题,后者为窗口名称)
- 运行批处理脚本(比如
test.bat,内容为title My Batch Title+pause)时,窗口标题会改成My Batch Title,但属性窗口的名称仍为C:\WINDOWS\system32\cmd.exe,所有批处理共用这个窗口名称 - 想要让Windows记住特定批处理的窗口位置和大小,但修改标题后关闭「让系统定位窗口」选项也无效,推测Windows是通过窗口名称而非窗口标题来保存窗口布局的,而共用的
cmd.exe名称无法区分不同批处理
可行替代方案
Windows没有原生命令可以修改cmd窗口的「窗口名称」(该名称关联的是启动程序cmd.exe的路径),但可以通过以下两种方式实现让Windows记住特定批处理的窗口布局:
1. 创建批处理专属快捷方式并配置属性
- 右键目标批处理文件,选择「创建快捷方式」
- 右键这个快捷方式,打开「属性」:
- 在「快捷方式」选项卡中,直接设置窗口大小(格式如
80,50)和起始位置(格式如100,100) - 切换到「布局」选项卡,可调整屏幕缓冲区大小等参数
- 勾选「退出时保存设置」
- 在「快捷方式」选项卡中,直接设置窗口大小(格式如
- 后续通过该快捷方式启动批处理,Windows会单独记住该快捷方式对应的窗口布局
2. 使用start命令启动独立cmd实例并指定标题
在批处理开头添加如下命令,启动新的cmd窗口运行脚本内容,让Windows能通过标题识别并保存布局:
@echo off start "My Batch Title" /wait cmd /k "title My Batch Title & pause" exit
"My Batch Title"是start命令指定的窗口标题,Windows会基于该标题保存窗口布局/wait表示等待新窗口关闭后再关闭原窗口/k表示执行完命令后保持窗口打开
设置完成后,手动调整窗口位置和大小,关闭「让系统定位窗口」选项,下次启动时Windows就会记住这个布局。
内容的提问来源于stack exchange,提问作者sdbbs
相关产品推荐
相关产品推荐

