命令  //功能

  1. echo  //标准输出命令 在CMD窗口中 显示echo 后的内容
  2. @   //关闭当前行的 回显    回显:源代码在 CMD 窗口中再次显示
  3. pasue     // 暂停程序 的执行
  4. call    //调用其他批处理  或着 代码块
  5. rem   // 注释信息的标识
  6. set    //定义一个变量
  7. goto  //跳转  用来作为流程控制
  8. start       //开始一个新程序 或 批处理
  9. if      // 条件判断
  10. for         //循环执行   循环的 基准的是 "行"
  11. setlocal   //设置 环境变量
  12. shift        //从指定参数出 开始执行
  13. "?" "*" 通配符
  14. "<" ">" ">>"    //重定向符号
  15. "|"           //管道符号   把前面得到结果 作为  后面的输入

对于不了解的命令参数 请在CMD中输入命令      命令名字 /? 后enter查看      for /?    cd /?   dir /?


1.echo

2.@

3.pause

5.rem

@echo off
rem 上面@ 关闭echo off 的回显 echo off 关闭 下面整个代码的回显
rem 注释代码标识 还能用 ::
echo hello world
:: 如果不暂停程序 执行后 直接结束 看不结果
pause

4.call

@echo off

:label6
echo 我是标签内的代码块 :: 请将echo6.bat 与该.bat文件 放同一个文件夹中
call echo6.bat
echo 调用 echo6.bat 成功
:: call 调用 代码块 需要有 : 号
call :label6
pause

6.set

@echo off
set var1=1
set var2=2
set var3=3
::调用变量请用 %%包围变量
echo 您设置的变量var1:%var1%
pause
echo 以var开头的变量有
set var
pause
echo 更改变量值
set var1=1111
echo 您设置的变量var1:%var1%
::清空变量
set var1=
set var2=
set var3=
::请看系统提示
set var
pause

7.goto

@echo off
:: call 转到指定标签处执行命令 执行完毕后 返回原处
call :lable3
:lable1
echo 这是lable1代码块中的内容显示
:: goto 跳转到 指定标签处 执行命令 不在返回原处
goto lable3
:lable2
echo 这是lable2代码块中的内容显示
:lable3
echo 这是lable3代码块中的内容显示
:lable4
echo 这是lable4代码块中的内容显示
pause

8.start

@echo off
:: start 可以启动快捷方式形式的exe文件
start D:\UserData\Pictures\TIM
pause
call D:\UserData\Pictures
pause
::路径最好不要有中文 有空格加引号
call "D:\Program Files (x86)\Tencent\TIM\Bin\QQScLauncher.exe"
pause
start echo6.bat
pause

9.if

@echo off
if 1==1 echo 值相同
if aa==aa ( echo 字符相同 )else ( echo 字符不同 )
set /p num1=请输入第一个数值:
set /p num2=请输入第二个数值:
rem 建议if else 写在一行
rem 小于 大于 等等比较运算符 请查看 if /? 帮助
if %num1% LSS %num2% ( echo 数字2大 ) else if %num1% EQU %num2% ( echo 一样大 ) else (echo 数字1大)
pause
if exist if6666.bat ( echo 文件存在 ) else echo 文件不存在
pause

10.for

15."|"

统计.bat所在目录的下的所有文件

@echo off
set /a sum=0
for /f %%i in ( 'dir /b /a-d' ) do (
set /a sum=sum+1
)
echo 共有%sum%个文件
pause
:: 来个简单的
dir /b /a-d | find /v /c ""
pause

11.setlocal

可以设置 环境变量  和 变量延时

setlocal enabledelayedexpansion

用于开启变量延迟,这是告诉解释器,在遇到复合语句的时候,不要将其作为一条语句同时处理,而仍然一条一条地去解释。但是这时必须用!str!来引用变量,如果仍然用%str%引用是不起作用的

()中的命令相当与一条命令   你在一条语句中即赋值改变 又调用变量 你说 变量值该是原来 还是该 你刚刚赋值的    需要开启变量延时 告诉程序 我要 及时跟新后的

@echo off
echo disabledelayedexpansion
set str=old
if %str% == old (
set str=new
echo %str%
)
pause
echo enabledelayedexpansion
setlocal enabledelayedexpansion
set str=old
if %str% == old (
set str=new
echo !str! ::开启请用!var!
echo %str% ::未变
)
pause

12.shift

@echo off
:begain
if "%1"=="" goto end
echo %1 %2 %3
shift
goto begain
:end
pause

该代码想要测试出效果需要
在代码所在的目录下  上面的地址栏窗口 输入cmd 然后enter

在出现的CMD窗口中 输入 xxx是你对上面代码的命名
xxx.bat 1 2 3 4

结果如下

代码中

%1 %2 %3 ...  是 从当前命令行获取到的参数    其取值范围是 1-9

shift 表示

  1. shift 是将所有参数往前移动一位。
  2. shift /2 是从第2个参数开始将后面的参数全部往前移动一位,但不影响前面的参数位置(即:不影响1)
  3. shift /3 是从第3个参数开始将后面的参数全部往前移动一位,但不影响前面的参数位置(即:不影响1,2)
  4. shift 的取值范围是 0-8

将当前命令行 后面的参数位置给bat后 发现shift后并没有被执行   估计 都作为了字符串处理

13 "?"  "*"

@echo off
::? 表示匹配任意一个字符
::下面代码表示 列出 文件名为2个字符的后缀为.bat的文件
dir ??.bat
pause
:: * 表示匹配任意数量个任意字符
::下面代码表示 列出 所有的.bat 的文件
dir *.bat
pause

14 "<" ">" ">"

@echo off
dir /b /a-d>FileList.txt
set /a sum=0
for /f %%i in ( ' dir /b /a-d ' ) do set /a sum=sum+1
echo %sum%
echo 当前目录下共有%sum%个文件>> FileList.txt
pause
set /p =输入不换行,<nul
set /p =继续输入,<nul
set /p =你换echo试试<nul
set
pause>nul 2>&1

重定向 标准输出是到CMD窗口 用1 默认  表示正常输出 2表示 出错提示

< 定向

输入不换行 利用set /p 提示功能 不定义变量 给其赋值nul   空 存在 
>定向到 txt 中 如果txt 中原来有内容将会 清空录入

>>定向到 txt中 在原来的基础上 追加内容

pause>nul 2>&1  &表示链接符     相当于 1>null 2>null  建议 pause>nul 2>nul

BAT 基础语法的更多相关文章

  1. .bat学习-基础语法(常用)

    一般来说,脚本或者语言都有相同地方 定义变量,输入,输出,判断条件等等.知道的相同之处,我们就可以借助强大的搜索引擎进行查找我们想要知道的东西. bat为批处理脚本BATCH.现在只知道是使用于win ...

  2. windows bat批处理语法简析

    第一节先介绍windows批处理.这个起源于跟旁边同事学习在windows用命令行办公,渐渐地有些批处理功能就需要了,于是专门抽出了几天学习了一下.我认为文档最重要的功能是为了备忘,择取了很多文档的例 ...

  3. Swift与C#的基础语法比较

    背景: 这两天不小心看了一下Swift的基础语法,感觉既然看了,还是写一下笔记,留个痕迹~ 总体而言,感觉Swift是一种前后端多种语言混合的产物~~~ 做为一名.NET阵营人士,少少多多总喜欢通过对 ...

  4. iOS-----正则表达式的基础语法

    正则表达式简单语法总结 一.什么是正则表达式 从概念上来说,正则表达式也是一门小巧而精炼的语言,它可以用来简化检索特定的字符串,替换特定字符等功能,有许多开发语言工具,都内嵌支持正则表达式.那么一个正 ...

  5. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  6. emmet 系列(1)基础语法

    emmet 系列(1)基础语法 emmet 是一个能显著提升开发html和css开发效率的web开发者工具 emmet基本上目前已知的编辑器都有相应的插件,各个编辑器的emmet插件的下载地址:点我下 ...

  7. Scala基础语法 (一)

    如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法. Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 我 ...

  8. Java基础语法

    java基础学习总结——基础语法1 一.标识符

  9. javascript中正则表达式的基础语法

    × 目录 [1]定义 [2]特点 [3]元字符[4]转义字符[5]字符组[6]量词[7]括号[8]选择[9]断言[10]模式[11]优先级[12]局限性 前面的话 正则表达式在人们的印象中可能是一堆无 ...

  10. Swift基础语法学习总结(转)

    Swift基础语法学习总结 1.基础  1.1) swift还是使用// 和/* */ 来注释,并且/* */允许多行注释. 1.2) swift使用print和println打印,它的传参是一个泛型 ...

随机推荐

  1. 【Win11】Win11家庭版升级专业版

    1.将已激活的Win11家庭版升级成未激活的Win11专业版:输入密钥[BCQNW-3VWYB-4V7QD-M6R2B-7MH26] 2.将未激活的Win11专业版升级成已激活的专业版 :输入密钥[6 ...

  2. Sql Server函数全解

    --系统函数 create database sample_db; use sample_db; create table student ( i_sid int primary key identi ...

  3. datax-web踩坑记录

    实习期间接触了两种ETL工具:kettle.datax 1.datax-web的安装 (跟着文档一步步来就好了) https://github.com/WeiYe-Jing/datax-web/blo ...

  4. oneDNN

    目录 oneDNN卷积思路 debug捆绑套路 jit_avx2_convolution_fwd_t::execute_forward( 整个文件oneDNN/src/cpu/x64/jit_avx2 ...

  5. Mac下python2升级3

    1.下载python最新版本 链接:https://www.python.org/downloads/mac-osx/ 安装默认位置为: /Library/Frameworks/Python.fram ...

  6. python 每天一个知识点 对文件的操作

    对文件的操作: 操作 功能 文件对象 = open(file,mode,encoding) 打开文件获取文件对象 文件对象.read(num) 读取指定长度字节,不指定num读取文件全部 文件对象.r ...

  7. 使用虚拟 dom 渲染页面 《vue.js 设计与实现》

     使用 js 对象描述 ui 更加灵活.假如我们要根据级别不同采用不同的标签.js 对象描述的话,只需要一个变量代表 h 标签即可. // 当变量改变时,标签也会变化. let level = 3 c ...

  8. 腾讯云等Linux环境下Redis安装配置

    1.下载redis解压安装命令教程 https://www.cnblogs.com/hunanzp/p/12304622.html 2.配置远程连接 修改bind 127.0.0.0  为 bind ...

  9. C#清空控件的值

    /// 清除容器里面某些控件的值 /// </summary> /// <param name="parContainer">容器类控件</param ...

  10. git 强制拉取远程到本地

    git fetch --all git reset --hard origin/master git pull