03 批处理

02 批处理

在批处理中,我们可以对命令进行批量操作,并且可以引入一些逻辑处理的环节。在windows下,批处理脚本的后缀一般是*.bat。一行(回车)就是一条命令。

一、常用命令

  • ::或者rem: 注释

  • echo:表示输出,可以输出常量或者变量

  • @echo off:是用来关闭命令本身的输出,即不显示所执行的命令语句

    • 加上@echo off
    1.png
  • 不加@echo off
2.png
  • 变量:一般的变量都是通过set命令来实现定义,set 变量名=变量值。对于变量的使用:在windows下一般是通过%变量名%来进行调用。

    3.png
  • 变量的调用:除了可以直接调用变量,也可以对变量的值进行选择性调用,格式为:%变量名:~M,N%,表示从变量的第M个字节开始读取,读取N个字符长度的值。如果N省略,则表示M之后

    4.png
  • 常用参数

    • /a: 表示变量可以进行数学计算。
5.png
  • /p: 表示从用户输入中接收变量的值。
6.png
  • 重定向:

    • ">":标准正确输出重定向,默认的输出是控制台,通过该操作符可以改变输出对象

      • 拿一个文件夹里面的所有文件的文件名
      8.png
  • 错误的信息并不会存进去

    9.png
  • 2> :标准错误重定向,默认的输出是控制台

    • 存入错误的信息

      10.png
  • <: 标准输入重定向,一般来说是通过该操作将文件作为用户输入使用

    7.png
  • 正确和错误的输入到同一个文件中

    dir /B /A:-D a >log.txt 2>&1
    或者
    dir /B /A:-D a 2>log.txt >&2
    

二、练习

注意:写批量脚本的时候,尝试在命令行执行,先单条执行没问题再写进脚本中

1、查询本机IP并进行ping

  • 先查询出IP地址
11.png
  • 筛选,并输出到ip.txt中

    ipconfig|findstr /i "ipv4" > ip.txt
    
  • ip.txt赋值给一个变量,并输出ip地址

    13.png
  • ping
14.png
  • 整合到脚本
15.png

2、能够ping指定第N个IP地址。

@echo off
rem 获取ip
ipconfig|findstr /i "ipv4" > ip.txt

rem 获取多行并赋值
(set /p line1=&set /p line2=&set /p line3= ) < ip.txt
rem echo %line1:~37%

rem 输入N
set /p n="请输入你要ping第几个IP:"

rem 判断
if %n% equ 1 (ping %line1:~39%) 
if %n% equ 2 (ping %line2:~39%)
if %n% equ 3 (ping %line3:~39%)

rem 按任意键继续
pause

3、编写一个bat脚本,用来实现简单的加法计算,让用户输入两个数字,得到和

@echo off

set /p a="请输入a:"

set /p b="请输入b:"

set /a c = %a%+%b%

echo  "a+b的结果是:%c%"

pause

总结:

能够掌握批处理的基本概念,当别人给你一个任务,你能想到用批处理来解决,这个思想足够,命令不重要,重要是能有这个想法和思路。第二个,能够阅读理解所接触到的批处理脚本。能知道大概的意思,那就很棒

你可能感兴趣的:(03 批处理)