中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 哪位老大有批处理语言的全套无错误的教程?
作者:
标题: 哪位老大有批处理语言的全套无错误的教程? 上一主题 | 下一主题
宁采臣
初级用户




积分 113
发帖 3
注册 2004-1-14
状态 离线
『楼 主』:  哪位老大有批处理语言的全套无错误的教程?

哪位老大有批处理语言的全套无错误的教程?

2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iceboy
银牌会员




积分 1681
发帖 512
注册 2003-8-2
状态 离线
『第 2 楼』:  

不要这样问嘛...

首先, 你必须明白批处理是干什么的。就是一个 DOS 命令列表, 让命令们按照预定的顺序执行。你先把 DOS 命令搞清楚吧...
然后, 两个概念, 一个是参数, 一个是 errorlevel...
参数, 很简单, 第一个是 %1, 第二个是 %2... 一个 shift 语句让 %2 变成 %1,  %3 变成 %2......
errorlevel, 更简单, 错误级别, 犯了一个 2 级的错误,
if errorlevel 3 dir
if errorlevel 2 dir
if errorlevel 1 dir
if errorlevel 0 dir
只有后面 3 个 dir 会被执行
最后, Part 问题
:A
GOTO B
:B
GOTO A
就死循环啦... :p




Somehow somewhere I've got to choose.
No matter if it is win or lose.
2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iceboy
银牌会员




积分 1681
发帖 512
注册 2003-8-2
状态 离线
『第 3 楼』:  

至于 debug, 那太复杂了(至少我不会), for 你倒是可以学学。

假设有一个批处理程序名叫 aa.bat, 内容如下:
@ECHO OFF
xxx
(xxx.exe 为一个程序, 返回错误代码为 2)
if errorlevel 3 echo %1
if errorlevel 2 echo %2
if errorlevel 1 echo %3
shift
if errorlevel 3 echo %1
if errorlevel 2 echo %2
if errorlevel 1 echo %3

C:\>aa a b c d

输出结果会是什么呢?
b
c
c
d
对吧, 很好理解的哦, 自己练习一下就会了
不过毕竟我不是批处理专家, 有什么问题尽管提出来吧



Somehow somewhere I've got to choose.
No matter if it is win or lose.
2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iceboy
银牌会员




积分 1681
发帖 512
注册 2003-8-2
状态 离线
『第 4 楼』:  

然后 IF 语句

SET a=b
这时, %a% 就表示 b 了
IF %a%==b DIR
如果变量 a 的内容是 b 就执行 dir 命令

再比如
aa.bat
内容:
@ECHO OFF
SET password=123457
IF %1==%password% DIR
...
自己去看吧



Somehow somewhere I've got to choose.
No matter if it is win or lose.
2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
宁采臣
初级用户




积分 113
发帖 3
注册 2004-1-14
状态 离线
『第 5 楼』:  

这些我都懂了 主要的是要比较详细的

2004-1-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
iceboy
银牌会员




积分 1681
发帖 512
注册 2003-8-2
状态 离线
『第 6 楼』:  

自己 try 一下嘛...



Somehow somewhere I've got to choose.
No matter if it is win or lose.
2004-1-15 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
无妄★模拟
初级用户

蝎蛇统领


积分 280
发帖 35
注册 2003-5-21
状态 离线
『第 7 楼』:  

买本书看看吧!讲的还是没书上的细啊~~~~~~~



我是菜鸟,我要变成老鸟!
       www.10.164.63.101.com
2004-1-17 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
宁采臣
初级用户




积分 113
发帖 3
注册 2004-1-14
状态 离线
『第 8 楼』:  

no book!

2004-1-19 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: