中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 11:43
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创][批处理单行显示多种颜色字符]
31 发表于 2006-12-20 01:50 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
UID 51697
来自 成都
状态 离线
  我在命令行里也运行也没效果呢。太奇怪了。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
32 发表于 2006-12-20 01:52 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
奇怪,发现 CMD /K 的执行在桌面上双击的执行文件 和 先进入CMD然再运行.bat的方式在屏幕显示上有细微的差别~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
33 发表于 2006-12-20 01:53 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
我在网吧的机子上试的,还是不行,好象网吧的机子做了手脚
34 发表于 2006-12-20 01:56 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
网吧的机器是不是把 Debug 这种非常危险的DOS外部工具给删掉了?
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
35 发表于 2006-12-20 02:00 ·  中国 甘肃 张掖 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
Originally posted by redtek at 2006-12-20 01:56:
网吧的机器是不是把 Debug 这种非常危险的DOS外部工具给删掉了?

没有,还在,没有提示不是命令
36 发表于 2006-12-20 04:48
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
redtek兄说的没错,我是在日文系统下测试的,另外,我也在中文件下试了,也是一样的,用CHCP 437后也是一样的.
还有"|"在哪里应该都是管道符吧,反正日文下是,不然DEBUG也就不会执行了,也就不可能在去掉ECHO EXIT|后可以看到效果了.
另外,我还试了多次,发现有时可以看到那一串星号闪了一下就没了,好像是被删除了的感觉,然后就变成了PAUSE的提示符了.我把EXIT换成了其它的命令也是一样的效果,好像是/K的作用没有起到一样.

[ Last edited by hxuan999 on 2006-12-19 at 04:50 PM ]
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
37 发表于 2007-04-06 02:13 ·  中国 北京 雅虎中国
中级用户
★★
菜鸟总动员
积分 259
发帖 112
注册 2006-08-28 15:53
UID 61454
状态 离线
各位同学,刚开始我也试不出效果,但后来我执着地多试了几次,终于出现效果:)有点奇怪,输了三次之后才会出现,每回试都是这样,呵呵~
38 发表于 2007-09-15 15:18 ·  中国 北京 中国科学院研究生院玉泉四公寓
银牌会员
★★★
积分 1,187
发帖 555
注册 2006-12-21 07:35
UID 74129
性别 男
状态 离线
没有效果啊!!
怎么解释啊?
39 发表于 2008-01-03 13:47 ·  中国 上海 漕河泾科技网IDC机房
新手上路
积分 2
发帖 1
注册 2007-10-10 18:09
UID 99381
性别 男
状态 离线
感谢!收获很大:lol:

基于这个,我写了个小东西,希望有人指点一二。
这段东西看着觉得比较繁琐,不晓得有没有更好一点的写法 :(

另:
运行的时候,有时候会有错误提示:
The process tried to write to a nonexistent pipe.
这个时候,字符串就显示不出来……不确定是什么原因,待达人指教!THX!




::Feelin'
:: Display name with the color
:: 2008-01-03
:: 2:55:43.29

::main
@title LOVE

@set varF=
@set varC=
@set varL=
@set line=

::Feelins
@set "varF=A,100$_MOV,AH,09$_MOV,AL,20$_MOV,BH,00$_MOV,BL,0C$_MOV,CX,09$_INT,10"
@set "varF=%varF%$_MOV,AL,73$_MOV,BL,08$_MOV,CX,08$_INT,10"
@set "varF=%varF%$_MOV,AL,6E$_MOV,BL,08$_MOV,CX,07$_INT,10"
@set "varF=%varF%$_MOV,AL,69$_MOV,BL,08$_MOV,CX,06$_INT,10"
@set "varF=%varF%$_MOV,AL,6C$_MOV,BL,08$_MOV,CX,05$_INT,10"
@set "varF=%varF%$_MOV,AL,65$_MOV,BL,08$_MOV,CX,04$_INT,10"
@set "varF=%varF%$_MOV,AL,46$_MOV,BL,08$_MOV,CX,02$_INT,10"
@set "varF=%varF%$_MOV,AL,20$_MOV,BL,08$_MOV,CX,01$_INT,10"
@set "varF=%varF%$_INT,20$_$_G$_Q$_"

::Cecilia
@set "varC=A,100$_MOV,AH,09$_MOV,AL,20$_MOV,BH,00$_MOV,BL,0C$_MOV,CX,09$_INT,10"
@set "varC=%varC%$_MOV,AL,61$_MOV,BL,07$_MOV,CX,08$_INT,10"
@set "varC=%varC%$_MOV,AL,69$_MOV,BL,07$_MOV,CX,07$_INT,10"
@set "varC=%varC%$_MOV,AL,6C$_MOV,BL,07$_MOV,CX,06$_INT,10"
@set "varC=%varC%$_MOV,AL,69$_MOV,BL,07$_MOV,CX,05$_INT,10"
@set "varC=%varC%$_MOV,AL,63$_MOV,BL,07$_MOV,CX,04$_INT,10"
@set "varC=%varC%$_MOV,AL,65$_MOV,BL,07$_MOV,CX,03$_INT,10"
@set "varC=%varC%$_MOV,AL,43$_MOV,BL,07$_MOV,CX,02$_INT,10"
@set "varC=%varC%$_MOV,AL,20$_MOV,BL,07$_MOV,CX,01$_INT,10"
@set "varC=%varC%$_INT,20$_$_G$_Q$_"

::Loves
@set "varL=A,100$_MOV,AH,09$_MOV,AL,73$_MOV,BH,00$_MOV,BL,0C$_MOV,CX,07$_INT,10"
@set "varL=%varL%$_MOV,AL,65$_MOV,BL,0C$_MOV,CX,06$_INT,10"
@set "varL=%varL%$_MOV,AL,76$_MOV,BL,0C$_MOV,CX,05$_INT,10"
@set "varL=%varL%$_MOV,AL,6F$_MOV,BL,0C$_MOV,CX,04$_INT,10"
@set "varL=%varL%$_MOV,AL,4C$_MOV,BL,0C$_MOV,CX,03$_INT,10"
@set "varL=%varL%$_MOV,AL,20$_MOV,BL,0C$_MOV,CX,02$_INT,10"
@set "varL=%varL%$_INT,20$_$_G$_Q$_"

@set "line=A,100$_MOV,AH,09$_MOV,AL,2A$_MOV,BH,00$_MOV,BL,02$_MOV,CX,0A$_INT,10"
@set "line=%line%$_INT,20$_$_G$_Q$_"

::Display
@CLS
@echo/
@echo exit|%ComSpec% /K prompt %line%|Debug>nul
@echo/
@echo exit|%ComSpec% /K prompt %varF%|Debug>nul
@echo/
@ping -n 1 127.1 1>nul 2>nul
@echo exit|%ComSpec% /K prompt %varL%|Debug>nul
@echo/
@ping -n 1 127.1 1>nul 2>nul
@echo exit|%ComSpec% /K prompt %varC%|Debug>nul
@echo/
@echo exit|%ComSpec% /K prompt %line%|Debug>nul
@echo/
@echo/
@pause>nul

::End

40 发表于 2008-01-13 16:44 ·  中国 广西 贺州 电信
新手上路
积分 16
发帖 8
注册 2006-11-09 14:11
UID 70150
性别 男
状态 离线
不错啊。
41 发表于 2008-04-25 10:01 ·  中国 广东 江门 蓬江区 电信
初级用户
积分 29
发帖 15
注册 2008-04-23 20:23
UID 116742
性别 男
状态 离线
看不懂!~~~我菜了!~~~~~~~~~
42 发表于 2008-05-12 06:32 ·  中国 江西 上饶 广信区 电信
初级用户
积分 29
发帖 29
注册 2008-05-07 22:34
UID 118049
性别 男
状态 离线
我也是进CMD运行批处理的,但什么效果也没看到,一闪就没了。我是在网吧机子上试,但我搜索了,机子上的debug在的,没有被删。这是为什么呢?XP系统。
论坛跳转: