批处理学习之符号
1.@
作用:关闭当前行的回显
如:@ echo off 说明:即不显示echo off 这一命令(echo off 的作用是不显示后面将要执行的DOS命令)
2.>
作用:输出重定向符号,将DOS命令执行的结果输入到指定文件中
如:ipconfig >ip.txt
说明:将ipconfig的结果输入到ip.txt中
注:若ip.txt不存在,则创建一个ip.txt文件,并将DOS命令执行结果存放其中.否则,将覆盖掉原来ip.txt中的内容.
3.>>
作用:输出重定向符号,将DOS命令执行的结果追加到指定的文件中
如:ipconfig >>ip.txt
说明:将ipconfig的结果追加到ip.txt中
注:若ip.txt不存在,则创建一个ip.txt,并将DOS命令执行结果存放其中(效果相当于ipconfg >ip.txt).
否则,将在原来ip.txt末尾追加DOS命令执行结果.
4.&
作用:将多个DOS命令连接起来顺序执行
如:ping www.tom.com & ping www.tom.com >ip.txt
说明:ping tom网站,并将ping的结果写入ip.txt(不管ping是否成功)
注:若其中某个DOS执行失败,后面的命令也将依然要执行.
5.&&
作用:将多个DOS命令连接起来顺序执行
如:ping www.tom.com && ping www.tom.com >ip.txt
说明:若ping tom网站成功,则将ping的结果写入ip.txt中
注:若其中某个DOS命令执行失败,则后面的命令将不再执行.
6.|
作用:管道命令,将前一DOS命令执行结果传到下一DOS命令中
如:ipconfig | find /i "ip address"
说明:执行ipconfig命令,查找带有"ip address"字符串的行并显示出ip地址
7.||
作用:用于执行多条命令,当某一命令正确执行后将不再执行后面的命令,如果没有出现正确的命令则一直执行完所有命令.
ping www.tom.com >>ip.txt||ping www.163.com >>ip.txt ||ping www.sina.com.cn >>ip.txt
说明:依次ping tom,163,sina,如果ping通,将不再执行后面的ping,并将ping的结果输入到ip.txt中
8.^
作用:^是对特殊符号> < &的前导字符,使这三个符号失去它们的作用,将被作为普通字符对待.
如:(1)echo 前导字符 ^>test.txt 说明:显示"前导字符 >test.txt"
(2)echo 前导字符 >test.txt 说明:将"前导字符"输入到test.txt文件中
9.""
作用:字符串界定符
有些字符串中带有空格,在精确比较时要加上引号
如:
@echo off
::比较字符串是否相等
:InputName
set /p name=请输入姓名:
if /i "%name%"=="zhang yang" (
echo success
goto Exit
) else (
echo failure
goto InputName
)
:Exit
pause
说明:判断输入的姓名是不是"zhang yang",若是,则输出"success",否则输出"failure",并继续输入姓名.
10.()
作用:包含命令,将多个命令括起来.相当于C语言中的{ }
如:在9的例子中,if 和else命令中各有两条命令,都用()括起来.
11.:
作用:标号,起跳转作用,格式为":标号名",常和goto合起来使用(goto 标号名).
如:在9的例子中,有两个标号:InputName 和Exit
12::
作用:起注释作用,和rem 命令相同,都相当于C语言中的//(单行注释)
如:9中的"::比较字符串是否相等"
13./
作用:参数引导开关符
如:在9的例子中,if 命令后加/i参数表示:将进行比较的字符串不分大小写.输入ZHANG YANG 也会显示"success".
14.%
作用:变量引导符
格式:(1)作参数:批处理每次能处理的变量从%0~%9共10个,其中%0默认给批处理的文件名使用;
(2)自定义变量引用方式:%变量名%;
(3)在for循环中,循环变量引用格式:%%变量名.
如:SUM.bat
@echo off
::求1+2+3+…
set sum=0
for /l %%i in (1,1,%1) do set /a sum+=%%i
echo 1+2+3+…+100=%sum%
pause
说明:在命令行下输入SUM 100,显示结果为:
1+2+3+…+100=5050
请按任意键继续. . .
其中SUM 100,100为输入的第一个参数,在批处理中用%1来引用,sum为自定义变量,引用sum值时用%sum%,而i为for循环中的循环变量,引用i值时用%%i.