中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-21 00:04
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 哪位老大有批处理语言的全套无错误的教程? 查看 1,285 回复 7
楼 主 哪位老大有批处理语言的全套无错误的教程? 发表于 2004-01-14 00:00 ·  中国 福建 福州 电信
初级用户
积分 113
发帖 3
注册 2004-01-14 00:00
22年会员
UID 15537
性别 男
状态 离线
哪位老大有批处理语言的全套无错误的教程?
2 发表于 2004-01-14 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
不要这样问嘛...

首先, 你必须明白批处理是干什么的。就是一个 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.
3 发表于 2004-01-14 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
至于 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.
4 发表于 2004-01-14 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
然后 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.
5 发表于 2004-01-14 00:00 ·  中国 福建 福州 电信
初级用户
积分 113
发帖 3
注册 2004-01-14 00:00
22年会员
UID 15537
性别 男
状态 离线
这些我都懂了 主要的是要比较详细的
6 发表于 2004-01-15 00:00 ·  中国 湖北 武汉 联通
银牌会员
★★★
积分 1,681
发帖 512
注册 2003-08-02 00:00
22年会员
UID 7953
性别 男
状态 离线
自己 try 一下嘛...
Somehow somewhere I've got to choose.
No matter if it is win or lose.
7 发表于 2004-01-17 00:00 ·  中国 吉林 四平 联通
初级用户
蝎蛇统领
积分 280
发帖 35
注册 2003-05-21 00:00
23年会员
UID 2294
性别 男
状态 离线
买本书看看吧!讲的还是没书上的细啊~~~~~~~
我是菜鸟,我要变成老鸟!
www.10.164.63.101.com
8 发表于 2004-01-19 00:00 ·  中国 福建 福州 福清市 电信
初级用户
积分 113
发帖 3
注册 2004-01-14 00:00
22年会员
UID 15537
性别 男
状态 离线
no book!
论坛跳转: