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、:、::