1.批处理的作用
从上而下成批地处理多条命令,直到最后一条
2.如何创建批处理
新建一个记事本文件,然后后缀名改为.bat
3.简单批处理实例
桌面上有个.bat批处理文件,并且该文件中写有
echo ========================================
echo helloworld > E:\text.txt
echo helloworld
echo ========================================
pause
其中的pause是等待的意思
此时,双击批处理文件,那么就会不仅会显示批处理的过程和内容并且还会在对应位置创建了一个text.txt文件,该文件中还有对应的文字内容
如果在批处理首行加上:
@echo off
那么就会在批处理运行的时候,不显示执行过程
4.自定义批处理文字颜色
在cmd窗口输入
color ?
从而查看各个颜色的代号,可以看到,颜色是由两部分组成,第一个是背景颜色,第二个是文字颜色
所以如果设置为背景是灰色,文字是淡红色,那么应该写为8C
在批处理文件中加上
color 8c
然后运行批处理文件,可以看到颜色发生改变,
内容:
@echo off
color 8c
echo ========================================
echo helloworld > E:\text.txt
echo helloworld
echo ========================================
pause
5.自定义批处理运行窗口的标题
@echo off
title 我的批处理
echo ========================================
echo helloworld > E:\text.txt
echo helloworld
echo ========================================
pause
6.跳转goto和:的组合
.bat文件内容:
:1
echo block1
goto 3
:2
echo block2
goto 4
:3
echo block3
goto 2
:4
echo block4
pause
从图中看出,执行顺序是block1,block3,block2,block4
7.利用goto和:进行死循环破坏电脑
:a
start
goto a
注意:其中的start后面不跟任何进程的名字则是打开cmd窗口的意思
8.利用goto和:进行死循环破坏电脑(开机自执行版本)
copy goto.bat "%userprofile%\「开始」菜单\程序"
:a
start
goto a
因为启动里的程序开机会自执行,所以只需要把goto.bat文件复制到此处,那么以后开机就会自动执行该goto.bat文件从而进入死循环破坏电脑
注意1:"%userprofile%\「开始」菜单\程序"这个“启动”路径中有中文所以要用“”括起来
注意2:%userprofile%是一个系统变量,不同的用户登录系统就会有不同的取值
9.自定义变量set
@echo off
title 测试用小程序
color 0a
:menu
echo ========================
echo 菜单
echo 1.定时关机
echo 2.取消定时
echo 3.退出
echo ========================
set /p num=您的选择是?
if "%num%"=="1" goto 1
if "%num%"=="2" goto 2
if "%num%"=="3" goto 3
echo 别乱输入
pause
cls
goto menu
:1
set /p a=请输入时间(单位:秒)
shutdown -s -f -t %a%
cls
goto menu
:2
shutdown -a
cls
goto menu
:3
exit
注意1:/p是指代,紧跟在后的num,a的等于号后面的内容并不是其值,只是显示出来给用户看的,num和a的值需要用户亲自输入
注意2:set是设置变量的关键字
注意3:exit是退出程序的意思
注意4:if是选择语句
10.强制杀死指定进程
ntsd -c q -pn 进程名称(例如:winlogon.exe,windows登录进程)
该操作会造成蓝屏
注意:只能在win2003和winxp使用
----------------------------------------------------------------------------
taskkill /im 进程名称 /f
例如:taskkill /im explorer.exe /f
效果:杀死桌面进程,导致所有桌面内容丢失
案例1:
@echo off
color 0a
taskkill /im explorer.exe /f
echo 傻了吧
ping -n 10 127.0.0.1
start c:\windows\explorer.exe
echo 吓唬你的,是不是很刺激
pause
效果是:将桌面程序杀死,所以桌面会立刻情况所有内容(例如所有图标和下方工具栏)
然后ping自己地址10次
跟着就是ping完10次后,重新启动桌面程序,所有桌面内容恢复
案例2(屏蔽版):
@echo off
color 0a
taskkill /im explorer.exe /f >nul 2>nul
echo 傻了吧
ping -n 10 127.0.0.1 >nul 2>nul
start c:\windows\explorer.exe
echo 吓唬你的,是不是很刺激
pause
效果与案例一略微有些差别,原因是加上>nul 2>nul
>nul:屏蔽操作成功的显示信息
2>nul:屏蔽操作失败的显示信息
所以从上图发现,终止桌面进程的显示和ping的过程显示都被屏蔽了