中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-01 14:52
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,279 会员排行
DOS批处理 & 脚本技术(批处理室) » 批处理窗口全屏后文字效果很差
可打印版本  2,040 / 11
第1楼 pykacha 发表于 2008-05-14 16:14
初级用户 发帖 73 积分 156
批处理窗口全屏后文字效果很差
我用了如下代码,虽然可以全屏,但文字显示效果很差很难看,查了很多资料都的不到满意的效果,请各位前辈帮忙指导(分辨率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楼 slore 发表于 2008-05-14 16:29
铂金会员 发帖 2,478 积分 5,212
看来有的东西还是保存好=。=
翻的人好累……



  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楼 bubblange 发表于 2009-11-18 20:22
新手上路 发帖 19 积分 19
其实楼上的方法可以精简些。
第4楼 bubblange 发表于 2009-11-18 20:40
新手上路 发帖 19 积分 19
用不着这么复杂的
第5楼 bubblange 发表于 2009-11-18 23:17
新手上路 发帖 19 积分 19
通过修改注册表
==============================
@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楼 bubblange 发表于 2009-11-18 23:19
新手上路 发帖 19 积分 19
Vista好像不支持CMD全屏
第7楼 slore 发表于 2009-11-19 00:20
铂金会员 发帖 2,478 积分 5,212
Originally posted by bubblange at 2009-11-18 20:22:
其实楼上的方法可以精简些。


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

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


我写的“多余”代码是为了不影响别人的设置。
第8楼 bubblange 发表于 2009-11-19 11:48
新手上路 发帖 19 积分 19
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楼 jianny 发表于 2009-11-20 10:49
新手上路 发帖 4 积分 4
@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楼 bubblange 发表于 2009-11-21 14:01
新手上路 发帖 19 积分 19
%~1 表示什么?
第11楼 slore 发表于 2009-11-21 19:55
铂金会员 发帖 2,478 积分 5,212
第一个参数去掉引号的部分
第12楼 bubblange 发表于 2009-11-22 07:28
新手上路 发帖 19 积分 19
这里并不需要去掉引号
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023