中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 02:25
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » 哪位老大有批处理语言的全套无错误的教程?
可打印版本  1,298 / 7
第1楼 宁采臣 发表于 2004-01-14 00:00
初级用户 发帖 3 积分 113
哪位老大有批处理语言的全套无错误的教程?
哪位老大有批处理语言的全套无错误的教程?
第2楼 iceboy 发表于 2004-01-14 00:00
银牌会员 发帖 512 积分 1,681
不要这样问嘛...

首先, 你必须明白批处理是干什么的。就是一个 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
第3楼 iceboy 发表于 2004-01-14 00:00
银牌会员 发帖 512 积分 1,681
至于 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
对吧, 很好理解的哦, 自己练习一下就会了
不过毕竟我不是批处理专家, 有什么问题尽管提出来吧
第4楼 iceboy 发表于 2004-01-14 00:00
银牌会员 发帖 512 积分 1,681
然后 IF 语句

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

再比如
aa.bat
内容:
@ECHO OFF
SET password=123457
IF %1==%password% DIR
...
自己去看吧
第5楼 宁采臣 发表于 2004-01-14 00:00
初级用户 发帖 3 积分 113
这些我都懂了 主要的是要比较详细的
第6楼 iceboy 发表于 2004-01-15 00:00
银牌会员 发帖 512 积分 1,681
自己 try 一下嘛...
第7楼 无妄★模拟 发表于 2004-01-17 00:00
初级用户 发帖 35 积分 280
买本书看看吧!讲的还是没书上的细啊~~~~~~~
第8楼 宁采臣 发表于 2004-01-19 00:00
初级用户 发帖 3 积分 113
no book!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023