帮助:/?
command /?查看对应command的帮助,这个无论何时都是最权威的。注释:::命令,echo off命令
程序中的注释是相当有用的,行注释在行首加上::,例子如下::这是一个注释。
@echo off的意思是此命令后的命令在执行的时候,不显示命令本身。
变量:set命令
set var="c:\a.txt"echo %var%
输入:choice命令,根据用户输入切换到不同的流程。
传递参数:%1, %2...,%9对应用户通过命令传递的参数。
条件判断:if命令
1. 是errorlevel的判断, 上面已经示例了。
2. 是比较判断,常用的如下:
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
选择开关/i则不区分字符串大小写;选择not项,则对判断结果进行逻辑非。
3. 是存在判断,就是 if exists file1 echo "file1 exists" 这样的语法结构判断文件或者目录的存在。
4. 是定义判断,判断变量是否存在,即是否已被定义。其命令格式为:
IF [not] DEFINED variable command1 [else command2]
2. 是比较判断,常用的如下:
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
选择开关/i则不区分字符串大小写;选择not项,则对判断结果进行逻辑非。
3. 是存在判断,就是 if exists file1 echo "file1 exists" 这样的语法结构判断文件或者目录的存在。
4. 是定义判断,判断变量是否存在,即是否已被定义。其命令格式为:
IF [not] DEFINED variable command1 [else command2]
5.IF /I "A" EQU "a" echo 不区分大小写
循环:
1、无开关的for语句能够对设定的范围内进行循环,是最基本的for循环语句。其命令格式为:FOR %%variable IN (set) DO command
2、开关/L
含开关/L的for语句,可以根据set里面的设置进行循环,从而实现对循环次数的直接控制。其命令格式为:
FOR /L %%variable IN (start,step,end) DO command
其中,start为开始计数的初始值,step为每次递增的值,end为结束值。当end小于start时,step需要设置为负数。
含开关/L的for语句,可以根据set里面的设置进行循环,从而实现对循环次数的直接控制。其命令格式为:
FOR /L %%variable IN (start,step,end) DO command
其中,start为开始计数的初始值,step为每次递增的值,end为结束值。当end小于start时,step需要设置为负数。
3、开关/F
含开关/F的for语句具有最强大的功能,它能够对字符串进行操作,也能够对命令的返回值进行操作,还可以访问硬盘上的ASCII码文件,比如txt文档等。其命令格式为:
FOR /F ["options"] %%variable IN (set) DO command
其中,set为("string"、'command'、file-set)中的一个;options是(eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq)中的一个或多个的组合。各选项的意义参见for /f。一般情况下,使用较多的是skip、tokens、delims三个选项。
含开关/F的for语句具有最强大的功能,它能够对字符串进行操作,也能够对命令的返回值进行操作,还可以访问硬盘上的ASCII码文件,比如txt文档等。其命令格式为:
FOR /F ["options"] %%variable IN (set) DO command
其中,set为("string"、'command'、file-set)中的一个;options是(eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq)中的一个或多个的组合。各选项的意义参见for /f。一般情况下,使用较多的是skip、tokens、delims三个选项。
字符串处理:
截取字符串:set var=10203040
第一数字是位置,从哪里开始截取,第二个数字是截取的长度。
第一个数字如果是负数,则表示反方向的位置,例如-4表明从倒数第四个字符开始。
第二个数字如果无,表明是可以达到的最长的长度,位置从0开始。
echo %var:~-4,3% ;从倒数第四个字符的位置开始截取,截取3个字符
echo %var:~0% ;从正数第0个位置开始,即全长。
echo %var:~1% ;从正数第一个开始,截取除第一个字符之外的全部字符
echo %var:~-2% ;从倒数第2个字符的位置开始截取,截取2个字符(从左向右截最长只有2个)。
替换字符串
echo %var:0=kkk% ;0替换为kkk
echo %var:10=kkk% ;10替换为kkk
echo %var:20=kkk%
echo %var:*20=kkk% ;20之前包括20字符串都替换为kkk
Xcopy
复制文件和目录,包括子目录。(http://www.jb51.net/article/11313.htm)
echo. 输出空行,相当于一个回车