Board logo

标题: 批处理文件是否完全按照dos命令顺序执行? [打印本页]

作者: 冰寅     时间: 2003-11-15 00:00    标题: 批处理文件是否完全按照dos命令顺序执行?

我是dos初学,想从批处理开始。不知道是否很容易学会阿 ……
作者: 如是大师     时间: 2003-11-15 00:00
并不难..批文件按照你的编辑语序依次执行.
所以批命令每行只能有一个命令..
作者: zovusazm     时间: 2003-11-17 00:00
哇,,,高手来了..~
作者: willsort     时间: 2003-11-19 00:00
Re zovusazm:

    类似于高级编译语言,批处理也存在三种执行结构:顺序结构,循环结构和选择结构。
   
    在批处理的大多数应用中,顺序结构较为常见,也就是“按照你的编辑语序依次执行”,当然对于稍微复杂一些的应用,则 IF 一类的选择结构和 FOR 一类的循环结构,也会使用到。

    不过,在高级应用中,常用的结构往往是 GOTO ,与BASIC中的 GOTO 大同小异,这也是所有解释型语言的常用结构。他用来实现大范围的循环结构或者选择结构,也即超过一行的循环或者选择。例如:
    多语句形式的选择IF:

       IF [%CHOOSE%]==[A] GOTO  CHOOSE_A
       IF [%CHOOSE%]==[B] GOTO CHOOSE_B
       :CHOOSE_A
       REM 对应A选择的语句块
       GOTO END
       :CHOOSE_B
       REM 对应B选择的语句块
       GOTO END
       :END

    多语句形式的循环FOR:

        SET CONIDITION=
        SET BOUND=~~~~~~
        REM 本循环执行5次,上述边界满足条件可以灵活控制.
        :LOOP
        IF [%CONDITION%]==[%BOUND%] GOTO END
        REM 循环中的语句块.
        SET CONIDITION=~%CONDITION%
        :END

作者: gotomsdos     时间: 2003-12-6 00:00
批处理 一行不限于一个命令.
比如,
a    命令1 & 命令2 & 命令3 ... (无论前面命令是否故障,照样执行后面)
b    命令1 && 命令2 && 命令3....(仅当前面命令成功时,才执行后面)
c    命令1 || 命令2|| 命令3.... (仅当前面命令失败时.才执行后面)
这些多命令帮我解决了棘手难题!

还有前后承接的管道符号 |   程序1 | 程序2
还有,  过滤处理:
         命令 | find  (寻找)
         命令 |more (分段显示)
         命令 |sort (排序)


[此贴子已经被作者于2003-12-6 21:32:42编辑过]