首页 > 编程 > BAT > 正文

cmd批处理常用符号详解

2020-06-09 13:53:53
字体:
来源:转载
供稿:网友
1、@
一般在它之后紧跟一条命令或一条语句,则此命令或语句本身在执行的时候不会显示在屏幕上。请把下面的代码保存为test.cmd文件,然后运行,比较一下两条echo语句在屏幕上的输出差异:
    echo a
    @pause
    @echo b
    @pause
执行结果如下:
        C:/Documents and Settings/JM/桌面>echo a
        a
        请按任意键继续...

        请按任意键继续...2、%、%%
百分号用在不同的场合,有不同的含义:
① 当百分号成对出现,并且其间包含非特殊字符时,一般做变量引用处理,比如:%var%、%str%。把以下代码保存为批处理文件,运行后观察屏幕显示结果:
    @echo off
    set str=abc
    echo 变量 str 的值是: %str%
    pause
在屏幕上将显示这样的结果:
        变量 str 的值是: abc
        按任意键继续...
另外,百分号作为变量引用还有一种特殊形式,那就是对形式参数的引用,此时,单个百分号后面紧跟0~9这10个数字,如%0、%1,其中,%0为脚本本身的名称,%1至%9为第二至九个参数...最多支持%0~%9,%10以后就是变量引用了,即%15为%1的值接上5。
请看演示代码:
    @echo off
    if defined str goto next
    set str=
    set /p str=请把文件拉到本窗口后回车:
    call "%~0" %str%
    pause
    exit
    :next
    cls
    echo 本批处理文件完整路径为:"%~0"
    echo 拖到本窗口的文件完整路径为:"%~1"
    goto :eof
② 出现在 set /a 语句中时,表示两数相除取余数,也就是所谓的模运算,它在命令行窗口和批处理文件中的写法略有差异:在命令行窗口中,只需要单个的%,在批处理文件中,需要连续两个百分号,写成%%。
例如:在命令行窗口中,运行 set /a num=4%2 ,则结果将显示0,因为4除以2的余数为0;如果保存为批处理文件,则此语句将略有改变:
    @echo off
    set /a num=4%%2
    echo 4除以2的余数为 %num%
    pause
③ 转义符号:如果要显示%本身时,需要在前面用%来转义。例如:
    @echo off
    echo 一个百分号:%%
    echo 两个百分号:%%%%
    echo 三个百分号:%%%%%%
    pause3、:、::
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表