中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]ANSI替代脚本不用改CONFIG.NT了
作者:
标题: [原创]ANSI替代脚本不用改CONFIG.NT了 上一主题 | 下一主题
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『楼 主』:  [原创]ANSI替代脚本不用改CONFIG.NT了

利用ANSI显示彩色字符兼容性最好,在DOS/Windews/Linux甚至boot.ini下都可以使用.
不过XP下使用ANSI需要修改CONFIG.NT,要是不慎没有改回去,可能引起起兼容问题.
而且就算改了CONFIG.NT,使用起来也不是很稳定,另外还要加command /c和echo组合使用,很麻烦的.
这里提供替代方法,利用PIF文件绕过CONFIG.NT文件执行脚本
因此好处如下:
1.不修改CONFIG.NT,安全
2.不需要command /c了,直接echo *[33m sybn就可以了
3.使用起来更稳定,暂未看到黑屏无显示状况
但是还有缺点未解决:
1.目标脚本必须使用严格的DOS的8.3命名规则
2.暂时未发现新问题

[ Last edited by sl543001 on 2010-7-12 at 21:55 ]

附件 1: ANSI替代脚本0.1.bat.zip (2010-7-10 22:01, 1.75 K,下载次数: 7)
附件 2: boot.GIF (2010-7-12 21:54, 10.03 K,下载次数: 1)




SYBNQQ:354324773
2010-7-10 22:01
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 2 楼』:  强调一下

这个脚本本身不实现任何功能,他只是给其他脚本的运行提供合适的运行环境

例如如下脚本作为目标脚本:
@echo off chcp 437>nul&&graftabl 936>nul
if not exist CONFIG.NT copy %WinDir%\System32\CONFIG.NT CONFIG.NT
@cls
echo DEVICE=%WinDir%\System32\ANSI.SYS /x >%WinDir%\System32\CONFIG.NT
@echo.
command /cecho 
command /cecho                                   登鹳雀楼
@echo.
@echo.
command /cecho                            白日依山尽,黄河入海流。
@echo.
command /cecho                            欲穷千里目,更上一层楼。
@echo.
@echo.
它改写了CONFIG.NT文件,这可能影响到正常的16位程序运行.
并且在实际使用中,经常会无规律的不定期出现啥也不能显示的状况.
稳定性不能满意,这也限制了在大家实际编写脚本时,很少使用ANSI
==============================================
有了我的这个脚本,情况就不同了.
在我的脚本中定义上面的脚本为目标脚本.然后运行
运行后,就会为目标脚本准备好运行环境,然后自动运行目标脚本
这样的话,目标脚本中的很多东西都可以删除.
1.开头包含CONFIG.NT 的所有内容都可以删除,因为新的运行环境不再依赖CONFIG.NT文件
2.所有的"command /cecho"中的"command /c"都可以删除,新的运行环境不再需要他
当然,你也可以继续保留这些内容,但他们已经变得没有意义了
简化后的目标脚本:
@echo off chcp 437>nul&&graftabl 936>nul
@cls
@echo.
echo 
echo                                   登鹳雀楼
@echo.
@echo.
echo                            白日依山尽,黄河入海流。
@echo.
echo                            欲穷千里目,更上一层楼。
@echo.
@echo.
[ Last edited by sl543001 on 2010-7-12 at 20:15 ]



SYBNQQ:354324773
2010-7-12 20:10
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复
sl543001
中级用户




积分 499
发帖 225
注册 2008-12-30
状态 离线
『第 3 楼』:  

此脚本经过win7测试



SYBNQQ:354324773
2010-7-21 23:17
查看资料  发送邮件  发短消息 网志  OICQ (354324773)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: