中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-06 09:24
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理窗口全屏后文字效果很差 查看 1,879 回复 11
楼 主 批处理窗口全屏后文字效果很差 发表于 2008-05-14 16:14 ·  中国 广东 广州 番禺区 电信
初级用户
★★
积分 156
发帖 73
注册 2008-05-09 10:40
18年会员
UID 118210
性别 男
状态 离线
我用了如下代码,虽然可以全屏,但文字显示效果很差很难看,查了很多资料都的不到满意的效果,请各位前辈帮忙指导(分辨率1024*768):
@echo off
echo exit|%ComSpec% /k prompt e 100 B4 00 B0 12 CD 10 B0 03 CD 10 CD 20 $_g$_q$_|debug>nul
chcp 437>nul
graftabl 936>nul
echo 中文字体
pause
为自己是中国人而倍感骄傲
2 发表于 2008-05-14 16:29 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
看来有的东西还是保存好=。=
翻的人好累……



  1. @echo off
  2. if "%1"=="" goto :FullScreen
  3. ::还原显示模式
  4. REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d %1 /f>nul

  5. ::全屏状态下代码段
  6. echo Welcome to Full Screen
  7. echo 按任意键退出. . .
  8. pause>nul
  9. Goto :End

  10. :FullScreen
  11. ::查询显示模式
  12. Set ShowMode=0
  13. for /f "delims=" %%i in ('REG QUERY HKEY_CURRENT_USER\Console /v "FullScreen"') do (
  14. Set ShowMode=%%i
  15. )
  16. Set ShowMode=%ShowMode:~-1%
  17. ::设置显示模式为全屏
  18. REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d 1 /f>nul
  19. ::全屏启动当前Bat脚本
  20. start "" %0 %ShowMode%
  21. :End
  22. exit
Slore发表于: 2007-09-23 13:59
3 发表于 2009-11-18 20:22 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
其实楼上的方法可以精简些。
4 发表于 2009-11-18 20:40 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
用不着这么复杂的
5 通过修改注册表 发表于 2009-11-18 23:17 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
==============================
@echo off
if not "%1"=="" goto restart
::“不能去掉
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul
start "" %0 hello
exit
::再次打开此batch,并退出第一次打开的,其中的“hello”是传递的参数,可以随便改,只要不为空。
:restart
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul

::下面放代码

==============================
以上是我从本论坛一个帖子中看到的,与大家分享;
另外我自己也想到了一类似的方法,如下:
注释与上面的代码类似。

==============================
@echo off
if "%control%"=="0" goto restart
::"不能去掉
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul
set control=0
start "" %0
exit
:restart
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul

::下面放代码

==============================
6 发表于 2009-11-18 23:19 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
Vista好像不支持CMD全屏
7 发表于 2009-11-19 00:20 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Originally posted by bubblange at 2009-11-18 20:22:
其实楼上的方法可以精简些。


你觉得我的代码精简成你的那样的代码效果没有变化么?

如果别人本来就是全屏呢?你的代码结束把人家改为窗口了。。。


我写的“多余”代码是为了不影响别人的设置。
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
8 发表于 2009-11-19 11:48 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
Originally posted by slore at 11-19-09 00:20:


你觉得我的代码精简成你的那样的代码效果没有变化么?

如果别人本来就是全屏呢?你的代码结束把人家改为窗口了。。。


我写的“多余”代码是为了不影响别人的设置。

如果本来cmd设置就是全屏还需要这些代码吗?
这个代码是为批处理提供全屏效果的,要单单改CMD为全屏显示(长久的),直接修改下cmd设置或注册表内容即可。
当然可根据用途把“reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul” 这句去掉。

[ Last edited by bubblange on 2009-11-19 at 11:51 ]
9 发表于 2009-11-20 10:49 ·  中国 广东 江门 新会区 电信
新手上路
积分 4
发帖 4
注册 2008-03-11 02:55
18年会员
UID 112597
性别 男
状态 离线
@echo off
if "%~1"=="" reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 1 /f >nul & start "" %0 p& exit
reg add hkcu\console\ /v fullscreen /t REG_DWORD /d 0 /f >nul
::下面放代码
echo 全屏
10 发表于 2009-11-21 14:01 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
%~1 表示什么?
11 发表于 2009-11-21 19:55 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
第一个参数去掉引号的部分
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
12 发表于 2009-11-22 07:28 ·  中国 陕西 西安 电信
新手上路
积分 19
发帖 19
注册 2009-11-03 19:24
16年会员
UID 154116
性别 男
状态 离线
这里并不需要去掉引号
论坛跳转: