中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 13:52
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创][批处理单行显示多种颜色字符]
楼 主 [原创][批处理单行显示多种颜色字符] 发表于 2006-12-19 05:35 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
代码功能:   实现纯批处理在单行显示不同颜色的彩色字符功能,并且不影响相临行文字的颜色值。

实现意义:   不调用非微软第三方工具实现、不生成任何临时文件。
实现价值:   没任何实用价值,纯为技术而挑战看上去不可能的技术。
实现版本:   稍微修改后均可以在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以后,再输入这个批处理的名字运行。]
[      如果在桌面直接鼠标双击运行,则一闪而过不会显示彩色内容]



上面代码没有任何实用价值,这也是偶然间想“挑战”一下那些调用第三方工具才能实现的功能,就想思考那些看上去不可能的事,
以上代码纯属思考着玩的一个想法,贴上和大家一起分享好玩的东东~:)

[ Last edited by redtek on 2006-12-23 at 05:30 PM ]
本帖最近评分记录 (共 5 条) 点击查看详情
评分人分数时间
lxmxn +6 2006-12-19 06:20
a9319751 +3 2006-12-19 06:26
9527 +6 2006-12-19 06:26
electronixtar +23 2006-12-19 07:30
hxuan999 +4 2006-12-19 07:55
附件
1.GIF
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2 发表于 2006-12-19 05:48 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
=_=|||
如何实现?
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
3 发表于 2006-12-19 05:57 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
是实现显示任何彩色字符串吗?
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
4 发表于 2006-12-19 05:58 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
是啊。
请兄详细说说,我很菜的。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
5 发表于 2006-12-19 06:08 ·  中国 浙江 杭州 电信
中级用户
★★
积分 305
发帖 85
注册 2005-05-23 00:00
UID 39004
性别 男
状态 离线
可惜2003无效,提示:NTVDM遇到一个硬错误。希望能解释一下
6 发表于 2006-12-19 06:10 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
1楼代码更改完成,这回可以了:)

[ Last edited by redtek on 2006-12-18 at 05:17 PM ]
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
7 发表于 2006-12-19 06:22 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  兄汇编进步好快,顶一个。以后编一个好的工具给兄弟们用用。呵呵。
8 发表于 2006-12-19 06:25 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
多谢lxmxn兄鼓励~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
9 发表于 2006-12-19 06:26 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
我还没有试出效果。
汗……
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
10 发表于 2006-12-19 06:31 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
那个代码最后一句我忘了加 PAUSE 暂停了,可能在桌面上一执行完就没了:)
我每次都是在先进入CMD窗口,然后再键入批处理文件名执行的,所以总是忘了Pause~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
11 发表于 2006-12-19 06:32 ·  中国 福建 泉州 石狮市 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
UID 586
性别 男
来自 福建泉州
状态 离线
利用DEBUG.等同于

@echo off

:: 显示单行彩色字符,其色彩值不影响本行以外的任何行
::
:: Var Redtek 2006 - bbs.cn-dos.net
>~debug.src echo.
>>~debug.src echo.A
>>~debug.src echo.MOV,AH,09
>>~debug.src echo.MOV,AL,2A
>>~debug.src echo.MOV,BH,00
>>~debug.src echo.MOV,BL,0E
>>~debug.src echo.MOV,CX,0020
>>~debug.src echo.INT,10
>>~debug.src echo.MOV,BL,0A
>>~debug.src echo.MOV,CX,000A
>>~debug.src echo.INT,10
>>~debug.src echo.INT,20
>>~debug.src echo.
>>~debug.src echo.g
>>~debug.src echo.q
debug<~debug.src>nul
del ~debug.src

只不过这个有生成了临时文件

偶不懂汇编,看不懂上面的是什么意思.
QQ:366840202
http://chenall.net
12 发表于 2006-12-19 06:32 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
我和兄的操作方法一样,但看不到效果,不知为什么。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
13 发表于 2006-12-19 06:33 ·  中国 福建 泉州 石狮市 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
UID 586
性别 男
来自 福建泉州
状态 离线
在代码后最后加一个pause
QQ:366840202
http://chenall.net
14 发表于 2006-12-19 06:38 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
UID 63486
来自 河北廊坊
状态 离线
还是不行。
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
15 发表于 2006-12-19 06:41 ·  中国 北京 联通
银牌会员
★★★
努力做坏人
积分 1,185
发帖 438
注册 2006-08-28 12:00
UID 61449
来自 北京
状态 离线
真希望Redtek兄能够做出漂亮的P处理动画那就更牛XXXXXXXXXXXXXXXXXX了,继续努力吧!!!!!!!
我今后在论坛的目标就是做个超级坏人!!!
论坛跳转: