|
|
【注】本文中的代码依赖于XP等老系统里面的debug命令,Win10等新系统可以用其它更简单的方法:
http://bbs.bathome.net/thread-60616-1-1.html#pid247814
代码功能: 实现纯批处理在单行显示不同颜色的彩色字符功能,并且不影响相临行文字的颜色值。
实现意义: 不调用非微软第三方工具实现、不生成任何临时文件。
实现价值: 没任何实用价值,纯为技术而挑战看上去不可能的技术。
实现版本: 稍微修改后均可以在CMD与MS-DOS版本上实现同样功能。
关于注释: 下面代码只是显示一堆字符而已,只为思考想法的可实现性。
如果用于显示特殊文字内容,下个版本可以随意完成,此演示无效。
测试版本: Windows CMD Shell 非全屏模式/全屏模式
目前不支持纯DOS,因为命令行过长所至,除非使用 Debug E命令直接写内存减少命令长度- @echo off
- :: 显示单行彩色字符,其色彩值不影响本行以外的任何行
- ::
- :: Var Redtek 2006 - bbs.cn-dos.net
- set "var=A$_MOV,AH,09$_MOV,AL,2A$_MOV,BH,00$_MOV,BL,0E$_MOV,CX,0020$_INT,10$_"
- set "var=%var%MOV,BL,0A$_MOV,CX,000A$_INT,10$_INT,20$_$_g$_q$_"
- echo exit|%ComSpec% /k prompt %var%|debug>nul
复制代码 [运行方法: 先进入CMD以后,再输入这个批处理的名字运行。]
[ 如果在桌面直接鼠标双击运行,则一闪而过不会显示彩色内容]
上面代码没有任何实用价值,这也是偶然间想“挑战”一下那些调用第三方工具才能实现的功能,就想思考那些看上去不可能的事,
以上代码纯属思考着玩的一个想法,贴上和大家一起分享好玩的东东~:)
原帖地址:http://www.cn-dos.net/forum/viewthread.php?tid=25797 |
|