批处理的一些命令:windows
rem:注释命令spa
echo:显示特定的消息rem
echo hello world 输出结果就是显示:hello world字符串
call:能够再一个脚本中调用另一个脚本string
1.bat:it
echo hello worldtest
2.bat:变量
echo luckyfile
call 1.bat技巧
执行2.bat的结果输出:hello world
lucky
set:用来定义一个变量
set [-参数] 变量名=变量值
set 执行这个命令后将显示当前环境下已经定义的全部变量,包括变量名和变量值
set /a test = 10/2
echo %test%
输出结果为5 windows脚本中全部变量默认都是字符串,进行数值计算 能够加参数/a
set /p test=
echo %test%
/p是程序阻塞,等待用户输入一个字符串,回车以后继续执行,输入的值即为输出的值
pause:这个命令能够让程序暂停执行,并显示”请安任意键继续”,用户按下任意键以后,将继续执行脚本
echo ok
pause
echo hello
首先输出ok 按任意键 再输出hello
goto:跳转,“:name”name为标号值,建立一个标号,用goto 直接执行标号后面的命令
:label
dir c://
dir d://
goto label
上面的脚本就是跳转到标号label处继续执行
IF
IF 条件判断语句,语法格式以下:
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
说明:
[NOT] 将返回的结果取反值即“若是没有”的意思。
ERRORLEVEL 是命令执行完成后返回的退出值
Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。
string1==string2 string1和string2都为字符的数据,英文字符的大小写将看作不一样,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command
EXIST filename 为文件或目录存在的意思。
IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来判断命令的返回值。
例:
一、 IF [NOT] ERRORLEVEL number command
检测命令执行完后的返回值作出判断。
echo off
dir z:
rem 若是退出代码为1(不成功)就跳至标题1处执行
IF ERRORLEVEL 1 goto 1
rem 若是退出代码为0(成功)就跳至标题0处执行
IF ERRORLEVEL 0 goto 0
:0
echo 命令执行成功!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:1
echo 命令执行失败!
Rem 程序执行完毕跳至标题exit处退出
goto exit
:exit
Rem 这里是程序的出口
二、 IF string1==string2 command
检测当前变量的值作出判断
ECHO OFF
IF %1==2 goto no
Echo 变量相等!
Goto exit
:no
echo 变量不相等
goto exit
:exit
你们能够这样看效果 C://>test.bat 数字
三、 IF [NOT] EXIST filename command
发现特定的文件作出判断
echo off
IF not EXIST autoexec.bat goto 1
echo 文件存在成功!
goto exit
:1
echo 文件不存在失败!
goto exit
:exit
这个批处理你们能够放在c盘和d盘分别执行看看效果。
windows下面写BAT脚本的技巧:
截取字符串:
例如:%data%命令默认格式:2014-01-07 星期二 截取前10个字符,%data:~0,10%,结果就是2014-01-07
换行:
在批处理中,一行表明一个命令,若是要换行,就可能会出现invalid command这样的错误,例如
exp %username%/%password%@%linkstr%^
log=%logfile%^
file=%dumpfile%^
变量设定:set username=oschina 引用变量的时候就是%username%