|
宁采臣
初级用户
积分 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
状态 离线
|
|
2004-1-19 00:00 |
|