zoukankan      html  css  js  c++  java
  • 简单批处理语法结构

    选择语句

    • 字符串比较

    仅能够对两个字符(串)是否相同、先后顺序进行判断等

    Usage:
    if [not] string1 compare-op string2 command1 [else command2]
    
    Compare-op:
    ==    等于
    EQU    等于
    NEQ    不等于
    LSS    小于
    LEQ    小于或等于
    GTR    大于
    GEQ    大于或等于
    
    Sample:
    set /p choice=是否显示当前时间?(y/n)
    if /i not %choice% EQU n echo 当前时间是:%date% %time%
    pause>nul
    • 存在判断

    存在判断的功能是判断文件或文件夹是否存在

    Usage:
    if  [not] exist  filename command1 [else command2]
    
    Sample:
    if not exist %~df0 (
    echo 文件夹%~df0不存在!
    ) else echo 文件夹%~df0存在!
    注意:注意if语句的多行书写,多行书写要求command1的左括号必须和if在同一行、else必须和command1的右括号同行、command2的左括号必须与else同行、command1和command2都可以有任意多行,即command可以是命令集。
     
    • 定义判断

    定义判断的功能是判断变量是否存在,即是否已被定义

    Usage:
    if [not] defined variable command1 [else command2]
    
    Sample:
    if not defined var (echo var=11)
    • 结果判断

    对上一个命令运行的结果进行判断处理,而上一个命令运行的结果放在errorlevel变量中

    Sample:
    masm %1.asm
    if errorlevel 1 pause & edit %1.asm
    link %1.obj
    Ps:[错误码为1]

     

    循环语句

    • 无开关

    无开关的for语句能够对设定的范围内进行循环,是最基本的for循环语句

    Usage:
    FOR %%variable IN (set) DO command
    
    Sample:
    @echo off
    for %%i in (a,"b c",d) do echo %%i
    pause>nul
    • 开关/L

    含开关/L的for语句,可以根据set里面的设置进行循环,从而实现对循环次数的直接控制

    Usage:
    FOR /L %%variable IN (start,step,end) DO command
    
    Sample:
    @echo off
    for /l %%i in (1,2,10) do md %%i
    pause
     
    • 开关/F

    含开关/F的for语句具有最强大的功能,它能够对字符串进行操作,也能够对命令的返回值进行操作,还可以访问硬盘上的ASCII码文件,比如txt文档等

    Usage:
    FOR /F ["options"] %%variable IN (set) DO command
    
    Parameters:
    options是(eol=c、skip=n、delims=xxx、tokens=x,y,m-n、usebackq)中的一个或多个的组合
    set为("string"、'command'、file-set)中的一个
    
    Sample:
    @echo off
    echo 本文件夹里面的文件有:
    for /f "skip=5 tokens=3* delims= " %%a in ('dir') do (
    if not "%%a"=="<DIR>" if not "%%b"=="字节" if not "%%b"=="可用字节" echo %%b
    )
    pause
    • 开关/D或/R

    含开关/D或/R的for语句是与目录或文件有关的命令,一般情况下很少使用。含开关/R的命令有时候被用于通过遍历文件夹来查找某一个文件或文件夹

    Sample:
    @echo off
    set local enabledelayedexpansion
    FOR /R d: %%i IN (.) DO (
    set dd=%%i
    set "dd=!dd:~0,-1!"
    echo !dd!
    )
    pause
    注:感叹号其实就是变量百分号(%)的强化版。之所以要用!而不用%,是因为在for循环中,当一个变量被多次赋值时,%dd%所获取的仅仅是dd第一次被赋予的值;要想刷新dd的值,就必须首先通过命令"setlocal enabledelayedexpansion"来开启延迟变量开关,然后用!dd!来获取dd的值。
  • 相关阅读:
    mvc是如何工作的
    MVC4 AJAX Unobtrusive
    MVC4 jQuery UI自动完成
    MVC4Html Helper
    MVC4 Layouts布局视图局部视图
    理解mvc
    ASP.NET MVC HTMLHELPER类的方法总结
    I2C中的重复起始条件到底是什么意思
    release, retain, autorelease 与 AT, MT, AMT
    CMSIS SVD(System View Description)小解
  • 原文地址:https://www.cnblogs.com/happy-island/p/3310888.html
Copyright © 2011-2022 走看看