1

我想通过批处理文件更改命令提示符布局。它需要显示在屏幕的中心或某个位置,但不能显示在最顶部。我试过了:

@echo off
COLOR 8f
mode con:cols=80 lines=40 
mode con:top=10

mode con:cols=80 lines=40命令有效,但mode con:top=10无效。
请建议我实现它的权利。

4

1 回答 1

3

要控制窗口的属性,您必须

  1. 在某个标题下的注册表中创建一个配置文件。Windows 使用注册表根据窗口标题存储命令提示窗口的设置。

  2. 打开一个标题与配置文件中使用的标题相匹配的窗口

使用以下代码作为示例来帮助您入门。

@echo off
setlocal
set mycmdTitle=My Special Command Prompt
Set mycmdHeight=40
Set mycmdWidth=80
Set mycmdBufferHeight=500
Set mycmdBufferWidth=%mycmdWidth%
Set mycmdxPos=0
Set mycmdyPos=120
Set mycmdColor=8f
Set /A mycmdBufferSize=mycmdBufferHeight*0x10000+mycmdBufferWidth
Set /A mycmdWindowPos=mycmdyPos*0x10000+mycmdxPos
Set /A mycmdWindowSize=mycmdHeight*0x10000+mycmdWidth
Set mycmdCmd=Title My First Command Prompt^&Echo.^&Echo.^&Echo.^&Echo.
Call :StartCommandPrompt %mycmdBufferSize% %mycmdColor% %mycmdWindowPos% %mycmdWindowSize% "%mycmdTitle%" "%mycmdCMD%"
endlocal
Goto :EOF

:StartCommandPrompt
REM receives %1=BufferSize %2=Color %3=WindowPos %4=WindowSize %5=Title %6=cmd
reg add "HKCU\Console\%~5" /V ScreenBufferSize /T REG_DWORD /D %1 /F >nul
reg add "HKCU\Console\%~5" /V ScreenColors /T REG_DWORD /D 0x%2 /F >nul
reg add "HKCU\Console\%~5" /V WindowPosition /T REG_DWORD /D %3 /F >nul
reg add "HKCU\Console\%~5" /V WindowSize /T REG_DWORD /D %4 /F >nul
start "%~5" %COMSPEC% /K %6
goto :eof

此代码基于我曾经在 google 上找到的一些原始代码,但我无法检索它,因此我无法正确归因于其原始开发人员。

于 2012-06-13T08:19:15.793 回答