02 批处理
在批处理中,我们可以对命令进行批量操作,并且可以引入一些逻辑处理的环节。在windows下,批处理脚本的后缀一般是*.bat。一行(回车)就是一条命令。
一、常用命令
-
::或者rem: 注释
-
echo:表示输出,可以输出常量或者变量
-
@echo off:是用来关闭命令本身的输出,即不显示所执行的命令语句
- 加上@echo off
1.png
- 不加@echo off

-
变量:一般的变量都是通过set命令来实现定义,set 变量名=变量值。对于变量的使用:在windows下一般是通过%变量名%来进行调用。
3.png
-
变量的调用:除了可以直接调用变量,也可以对变量的值进行选择性调用,格式为:%变量名:~M,N%,表示从变量的第M个字节开始读取,读取N个字符长度的值。如果N省略,则表示M之后
4.png
-
常用参数
- /a: 表示变量可以进行数学计算。

- /p: 表示从用户输入中接收变量的值。

-
重定向:
-
">":标准正确输出重定向,默认的输出是控制台,通过该操作符可以改变输出对象
- 拿一个文件夹里面的所有文件的文件名
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地址

-
筛选,并输出到ip.txt中
ipconfig|findstr /i "ipv4" > ip.txt
-
ip.txt赋值给一个变量,并输出ip地址
13.png
- ping

- 整合到脚本

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
总结:
能够掌握批处理的基本概念,当别人给你一个任务,你能想到用批处理来解决,这个思想足够,命令不重要,重要是能有这个想法和思路。第二个,能够阅读理解所接触到的批处理脚本。能知道大概的意思,那就很棒
网友评论