中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创][批处理单行显示多种颜色字符]
« [1] [2] [3] »
作者:
标题: [原创][批处理单行显示多种颜色字符] 上一主题 | 下一主题
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『楼 主』:  [原创][批处理单行显示多种颜色字符]

代码功能:   实现纯批处理在单行显示不同颜色的彩色字符功能,并且不影响相临行文字的颜色值。

实现意义:   不调用非微软第三方工具实现、不生成任何临时文件。
实现价值:   没任何实用价值,纯为技术而挑战看上去不可能的技术。
实现版本:   稍微修改后均可以在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 ]

   此帖被 +42 点积分       点击查看详情   
评分人:【 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: 1.GIF (2006-12-19 05:35, 9.94 K, 下载附件所需积分 1 点 ,下载次数: 6)




    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-19 05:35
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 2 楼』:  

=_=|||
如何实现?



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-19 05:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 3 楼』:  

是实现显示任何彩色字符串吗?



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-19 05:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 4 楼』:  

是啊。
请兄详细说说,我很菜的。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-19 05:58
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yardian
中级用户




积分 305
发帖 85
注册 2005-5-23
状态 离线
『第 5 楼』:  

可惜2003无效,提示:NTVDM遇到一个硬错误。希望能解释一下

2006-12-19 06:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 6 楼』:  

1楼代码更改完成,这回可以了:)

[ Last edited by redtek on 2006-12-18 at 05:17 PM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-19 06:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  


  兄汇编进步好快,顶一个。以后编一个好的工具给兄弟们用用。呵呵。


2006-12-19 06:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 8 楼』:  

多谢lxmxn兄鼓励~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-19 06:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 9 楼』:  

我还没有试出效果。
汗……



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-19 06:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 10 楼』:  

那个代码最后一句我忘了加  PAUSE 暂停了,可能在桌面上一执行完就没了:)
我每次都是在先进入CMD窗口,然后再键入批处理文件名执行的,所以总是忘了Pause~:)



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-12-19 06:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 11 楼』:  

利用DEBUG.等同于

  Quote:
@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
2006-12-19 06:32
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 12 楼』:  

我和兄的操作方法一样,但看不到效果,不知为什么。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-19 06:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenall
银牌会员




积分 1276
发帖 469
注册 2002-12-23
来自 福建泉州
状态 离线
『第 13 楼』:  

在代码后最后加一个pause



QQ:366840202
http://chenall.net
2006-12-19 06:33
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (366840202)  编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 14 楼』:  

还是不行。



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-19 06:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
9527
银牌会员

努力做坏人


积分 1185
发帖 438
注册 2006-8-28
来自 北京
状态 离线
『第 15 楼』:  

真希望Redtek兄能够做出漂亮的P处理动画那就更牛XXXXXXXXXXXXXXXXXX了,继续努力吧!!!!!!!



我今后在论坛的目标就是做个超级坏人!!!
2006-12-19 06:41
查看资料  发短消息 网志  OICQ (329429)  编辑帖子  回复  引用回复
« [1] [2] [3] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: