bat脚本

批处理的一些命令:

  1. rem:注释命令

  2. echo:显示特定的消息

    echo hello world  输出结果就是显示:hello world

  3. call:可以再一个脚本中调用另外一个脚本

    1.bat:

    echo hello world

    2.bat:

    echo lucky

    call 1.bat

    执行2.bat的结果输出:hello world

                                      lucky

  4. set:用来定义一个变量

    set [-参数] 变量名=变量值

    set 执行这个命令后将显示当前环境下已经定义的所有变量,包括变量名和变量值

    set /a test = 10/2

    echo %test%

    输出结果为5 windows脚本中所有变量默认都是字符串,进行数值计算 可以加参数/a

    set /p test=

    echo %test%

    /p是程序阻塞,等待用户输入一个字符串,回车之后继续执行,输入的值即为输出的值

  5. pause:这个命令可以让程序暂停执行,并显示”请安任意键继续”,用户按下任意键之后,将继续执行脚本

    echo ok

    pause

    echo hello

    首先输出ok  按任意键 再输出hello

  6. goto:跳转,“:name”name为标号值,创建一个标号,用goto 直接执行标号后面的命令

    :label

    dir c://

    dir d://

    goto label

    上面的脚本就是跳转到标号label处继续执行

  7. 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来判断命令的返回值。
    例:
    1、 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 这里是程序的出口
    2、 IF string1==string2 command
    检测当前变量的值做出判断
    ECHO OFF
    IF %1==2 goto no
    Echo 变量相等!
    Goto exit
    :no
    echo 变量不相等
    goto exit
    :exit
    大家可以这样看效果 C://>test.bat 数字

    3、 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脚本的技巧:

  1. 截取字符串:

    例如:%data%命令默认格式:2014-01-07 星期二  截取前10个字符,%data:~0,10%,结果就是2014-01-07

  2. 换行:

    在批处理中,一行代表一个命令,如果要换行,就可能会出现invalid command这样的错误,例如

    exp %username%/%password%@%linkstr%^

    log=%logfile%^

    file=%dumpfile%^

  3. 变量设定:set username=oschina 引用变量的时候就是%username%


你可能感兴趣的:(bat脚本)