cmd批处理常用符号详解

2019-09-19 06:48:13王振洲

一般而言,&表示两条命令或语句同时执行的意思。如 echo a&echo b,将在屏幕上同时显示a和b字符。当几条语句含义近似或作用相同且没有先后的顺序之别时,启用&符号连接这些语句将会增加程序的可读性; 9、&&、||
这是一对含义截然相反的命令符,&&表示如果它之前的语句成功执行,将执行它之后的语句,而||则表示如果它之前的语句执行失败,将执行它之后的语句;在某些场合,它们能替代 if……else…… 语句;例如:
    @echo off
    md test&&echo 成功创建文件夹test||echo 创建文件夹test失败
    pause
效果等同于如下代码:
    @echo off
    md test
    if "%errorlevel%"=="0" (echo 成功创建文件夹test) else echo 创建文件夹test失败
    pause 10、()
小括号对经常出现在for语句和if语句中,还有一些特定场合;在for和if语句中属于语句格式的要求,例如:
① for %%i in (语句1) do (语句2):在这条语句中,语句1必须用括号对包围,而语句2的括号对则可视情况予以抛弃或保留:如果语句2是单条语句或用&、& &、||等连接符号连接的多条语句,括号对可以抛弃,如果语句2是有逻辑先后关系的多条语句集合,则必须保留括号对,并且,多条语句必须断行书写;例如:
    @echo off
    for %%i in (a b c) do echo %%i&echo --------
    pause
也可以改写为:
    @echo off
    for %%i in (a b c) do (
        echo %%i
        &echo --------
    )
    pause
② if 条件 (语句1) else (语句2):如果没有else部分,则语句1的括号对可有可无;如果有else部分,则语句1中的括号对必须保留,此时,语句2中的括号对保留与否,和上一点类似。例如:
    @echo off
    if exist test.txt echo 当前目录下有test.txt
    pause
    @echo off
    if exist test.txt (echo 当前目录下有test.txt) else echo 当前目录下没有test.txt
    pause
    @echo off
    if exist test.txt (echo 当前目录下有test.txt) else (
        echo 当前目录下没有test.txt
        pause
        cls
        echo 即将创建test.txt文件
        cd.>test.txt&&echo 成功创建test.txt
    )
    pause
③ 特定场合下使用括号对,不但可以使代码逻辑清晰,增强可读性,还可能会减少代码量。比如用echo语句构造多行文本内容的时候:
相关文章 大家在看