中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
<<   [1] [2]  >>   >
作者:
标题: 转贴:DOS批处理文件的妙用 上一主题 | 下一主题
MYS
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『楼 主』:  转贴:DOS批处理文件的妙用

DOS批处理文件的妙用 在大多数计算机使用者的机器中的操作系统有两种:Windows和DOS。 Dos黑黑的界面,命令行的输入方式,不能和Windows相提并论。但是现在有很多的应用程序还是基于Dos设计的,在Dos下才能发挥最好的状态,所以我们还需要Dos。 Dos不很好用,可又要用它,解决这个总是只有一个办法:加强它的功能!Dos的批处理文件就是其中的一种。 批处理文件就好像是一个宏,它是一个文本文件,其中包括的都是一些标准的Dos命令,当然还有一部分是批处理的专用控制命令。批处理文件的扩展名是bat,Dos的命令处理文件(command.com)规定批处理文件为可执行文件。只要在命令行中键入bat文件名,Dos就会一条一条地执行bat中的语句。功能就相当于在命令行打入每条命令。批处理的语句通过不同的组合,会有很意想不到的效果。下面我会用一些实例来向大家说明。 1.我们在路径设置时,如原来有路径,就会被新的覆盖。如不想覆盖,就一定要在命令行中连新路径、旧的路径一起打出来,好累啊!看看下边的程序吧: @echo off if “%1”== “” GOTO END set path=%path% path %1;%path% :END 说明: %1:第一个形参,内容是要加的路径。如无内容,则结束。 2. 一些软件在使用时,要么有路径指向它,要么就是在当前目录运行。因为这种软件只在当前的和指定的路径查找数据一类的附助文件,所以,如没有路径指向和不在当前路径,程序会说“找不到文件”。那把所有的路径加入到环境变量PATH中不就可以了吗?理论上说来是可以是,但Dos有一个限制,命令行字符数总和不可以超过127个。而PATH又是要以命令行来执行的,结果可想而知,如果超过,Dos会毫不犹豫地告诉你:环境变量溢出! 如果你想在执行完上面这种程序后再回到原路径,看看下边的程序: @echo off set tmppath=%path% set path=%1 %2 path=%tmppath% set tmppath= 说明: %1:第一个形参。为要运行软件的路径,一定要写全。 %2:第二个形参。软件运行文件名。 3.程序异常退出、中文系统花屏,怎么办?用批处理也可以解决。 这个批处理程序使用了Dos提供的几个命令。 @echo off PROMPT $P$G MODE CO80 KEYB US,437 ECHO [0m 说明: prompt $P$G将系统的提示符恢复成“C:\>”(当前为C盘根目录)。 Mode CO80将屏幕显示方式恢复成为“黑白80×25”模式。 Keyb us,437将键盘设置成为标准美国101键盘。 Echo [0m将字符显示方式工变为黑白显示(用于装入ansi.sys的系统)。 “ ”的输入法为:在edit一类的编辑软件中,按住Ctrl键,再按P键,再按Esc键。“m”一定要用小写。 这里只是批处理文件的一些用法,批处理的功能当然不只这些,欢迎你再来 http://esam.yeah.net 坐坐!




我的网志 http://hzmys.blog.163.com/ 我的网盘 firststep.qjwm.com fsmys.ys168.com ssmys.ys168.com www.brsbox.com/fsmys www.brsbox.com/ssmys www.brsbox.com/ccdos
2002-10-25 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (2664429)  编辑帖子  回复  引用回复
hit
初级用户

孤胆枪手


积分 688
发帖 148
注册 2002-10-26
来自 陕西
状态 离线
『第 2 楼』:  

perfect!!




我:╭∩╮(︶︿︶)╭∩╮。靠!!!
2002-10-26 00:00
查看资料  发送邮件  发短消息  网志  OICQ (23296996)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27736
发帖 10521
注册 2002-10-9
状态 离线
『第 3 楼』:  

好像个人电脑上的操作系统基本上只有三类吧,一种是DOS类,包括各种DOS,以及运行于DOS之上的Win3.x/9x等;第二种是OS/2、WinNT类,包括OS/2、WinNT/2K/XP/.Net等;第三种是Unix类,包括各种Unix、Linux、FreeBSD等等。




Wengier - 新DOS时代 欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址: wendos.mycool.net/ E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)
2002-10-26 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (29206679)  编辑帖子  回复  引用回复
copy114
初级用户




积分 229
发帖 37
注册 2002-11-9
状态 离线
『第 4 楼』:  

@echo off set tmppath=%path% set path=%1 %2 path=%tmppath% set tmppath= 我看了几次了,但还是不明白,你们能不能说详细的跟我解释一下这些命令的意思啊?


2002-11-28 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
okghost
初级用户




积分 140
发帖 14
注册 2002-11-11
状态 离线
『第 5 楼』:  [注意]

为什么你的连接是空的,难道……


2002-11-30 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
superdos
中级用户




积分 272
发帖 43
注册 2003-4-4
状态 离线
『第 6 楼』:  

简直是财富呀!!


2003-4-4 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zgzjwz
初级用户




积分 227
发帖 28
注册 2004-5-15
状态 离线
『第 7 楼』:  

先顶上!


2004-5-18 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 8 楼』:  

Re Wengier:   为什么不把MacOS包含在内呢? Re MYS:   1,例子一完全可以简化为 set path=%1;%path%;DOS7以上甚至可以直接在命令行中这样使用。   2,"一些软件在使用时,要么有路径指向它,要么就是在当前目录运行。因为这种软件只在当前的和指定的路径查找数据一类的附助文件"   指定路径的原因在于DOS解释器载入可执行程序的机制,而非软件程序本身的路径问题。而且基本上没有什么程序从%path%路径中查找"数据"文件,数据文件的查找路径早期被设定在append路径中,后期则是由程序自身确定。   3,"命令行字符数总和不可以超过127个。而PATH又是要以命令行来执行的,结果可想而知,如果超过,Dos会毫不犹豫地告诉你:环境变量溢出"   在命令行中无法输入超过限制的命令行字符数,即使通过其它方法超过,也不一定会造成环境变量溢出,这取决于环境变量声誉空间的大小。所以"毫不犹豫"一说不妥。   4,"Mode CO80将屏幕显示方式恢复成为“黑白80×25”模式"   -------------------------------------    CO40或CO80 指定激活彩色监视器的彩色功能,并指定每行的字符数。(注意监视器的类型)   -------------------------------------   5,"Echo [0m将字符显示方式工变为黑白显示"   ------------------------------------- ESC[Ps;...;Psm 设置图形方式:下列指定的值来调用图形函数。这些指定的函数将一直起作用, 直到遇到下一个同类的转义序列。图形方式改变屏幕显示的颜色和字符属性(如 黑体和下划线)。 文本属性 0 关闭所有属性(注意此处) 1 黑体有效 4 下划线有效(仅限单色显示器) 5 闪烁有效 7 反相显示有效 8 隐蔽   -------------------------------------




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-5-19 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Kinglion
铂金会员

痴迷DOS者


积分 5798
发帖 1924
注册 2003-6-20
来自 金獅電腦軟體工作室
状态 离线
『第 9 楼』:  

To willsort: 我真服了你了,你发的贴子没有一个是灌水的.建议你常来论坛来看看.帮助大家来解决问题.我也希望能向你请教一些问题.




熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境! 金狮電腦軟體工作室愿竭诚为您服务! QQ群:8393170(定期清理不发言者) 个人网站:www.520269.cn 电子邮件:doujiehui@vip.qq.com 微信公众号: doujiehui
2004-5-20 00:00
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (79207959)  编辑帖子  回复  引用回复
zhri
高级用户

zhri


积分 665
发帖 153
注册 2004-2-23
状态 离线
『第 10 楼』:  

这家伙超人。 ^-^


2004-5-22 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
nacncyclone
初级用户




积分 105
发帖 1
注册 2004-5-22
状态 离线
『第 11 楼』:  

good I like it.


2004-5-23 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ati2004
初级用户




积分 139
发帖 9
注册 2004-5-23
状态 离线
『第 12 楼』:  

多谢了,我会琢磨一下的!


2004-5-23 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
wjt_lily
初级用户




积分 110
发帖 2
注册 2004-5-23
状态 离线
『第 13 楼』:  

好久没有用DOS了,但很怀念那个时代,专一和高效!


2004-5-23 00:00
查看资料  发送邮件  发短消息  网志  OICQ (184625586)  编辑帖子  回复  引用回复
robinxie
初级用户




积分 127
发帖 7
注册 2004-3-7
状态 离线
『第 14 楼』:  

有没有更深入一点的批处理命令使用.据我所知它的功能很大,在外国的一些黑客们用它来进行攻击,并且在国外流行的程序大战中,使用批处理命令是相当频繁的,而且实用.


2004-5-23 00:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
SagInvoker
初级用户




积分 257
发帖 38
注册 2004-5-20
状态 离线
『第 15 楼』:  

RE ROBINXIE 我觉得你不应该问有多少批处理命令,而应该问问你知道多少DOS命令, 批处理的专用控制流程的命令就那么几个if for call choice echo pause rem goto shift 然后就没了,你如果不去学学哪些关于网络的DOS命令,你也不会理解你所说的什么黑客用它来攻击的问题.


2004-5-23 00:00
查看资料  发送邮件  发短消息  网志  OICQ (105695504)  编辑帖子  回复  引用回复
<<   [1] [2]  >>   >
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: