Windows 中的 bat(批处理)文件处理使用教程典型实例和实战技巧

Windows 中的 bat(批处理)文件处理使用教程典型实例和实战技巧

一、什么是 .bat 文件?

.bat 是批处理文件(Batch file)的扩展名,内部是 Windows 命令的脚本集合,可以自动执行一系列任务。其执行环境是 cmd.exe。

二、基本语法讲解

语法含义@echo off禁用命令回显(更清爽)echo打印文字rem 或 ::注释pause暂停,等待任意键call调用另一个批处理文件goto跳转到指定标签if条件判断for循环结构%变量名%变量取值set变量定义

三、基础示例

1. Hello World 示例

@echo off

echo Hello, World!

pause

运行效果:

Hello, World!

请按任意键继续. . .

2. 打开程序或网页

@echo off

start notepad

start https://www.bing.com

3. 条件判断

@echo off

set NAME=Tom

if %NAME%==Tom (

echo Hi Tom!

) else (

echo You are not Tom!

)

4. 文件批量处理

@echo off

for %%f in (*.txt) do (

echo Found: %%f

)

5. 带参数的脚本

@echo off

echo Script name: %0

echo First arg: %1

echo Second arg: %2

调用示例:

test.bat input.txt log.txt

四、实用实例场景

1. 批量重命名文件(添加前缀)

@echo off

setlocal enabledelayedexpansion

for %%f in (*.jpg) do (

ren "%%f" "new_%%f"

)

2. 自动备份文件夹

@echo off

set folder=C:\MyData

set backup=D:\Backup\MyData_%DATE:~0,10%

xcopy "%folder%" "%backup%" /E /I /Y

echo Backup done: %backup%

3. 循环 Ping 网络测试

@echo off

:loop

ping 192.168.1.1

timeout /t 5 >nul

goto loop

五、常见技巧与注意事项

技巧说明setlocal enabledelayedexpansion启用延迟变量展开(变量在循环中更新生效)> nul抑制命令输出2>&1将错误输出重定向exit /b退出当前脚本但不关闭窗口使用 call 嵌套调用其他 .bat 脚本

六、创建与执行方式

用记事本创建 .bat 文件,保存时选“所有文件”,命名如:test.bat右键点击 -> “以管理员身份运行”或在命令行中执行:C:\> test.bat

七、高级用法建议

结合 schtasks 实现定时任务自动运行搭配 powershell 执行高级命令或脚本编写 .bat 管理工具,如一键清理临时文件、一键部署工程等

八、其他示例

1. hello_world.bat

功能: 输出一行“Hello World”并暂停窗口

@echo off

echo Hello World!

pause

说明:

@echo off:关闭命令显示(避免显示每条命令本身)。echo:打印信息。pause:等待用户按键,防止窗口立即关闭。

2. open_web_notepad.bat

功能:同时打开浏览器与记事本

@echo off

start https://www.baidu.com

start notepad.exe

说明:

start:打开指定程序或网页。支持打开多个内容,常用于快捷启动。

3. backup_folder.bat

功能:备份某文件夹到当前目录下的新建文件夹(以当前日期命名)

@echo off

set folder_to_backup="D:\MyProject"

set today=%date:~0,4%%date:~5,2%%date:~8,2%

set backup_dir=backup_%today%

echo Backing up %folder_to_backup% to %backup_dir%...

xcopy /E /I /Y %folder_to_backup% .\%backup_dir%

echo Done.

pause

说明:

%date% 提取当前日期。xcopy 进行目录复制:

/E:包含子目录。/I:默认目标为目录。/Y:跳过覆盖确认。

修改 folder_to_backup 可自定义源目录。

4. rename_add_prefix.bat

功能:为当前目录下所有 .jpg 文件加上前缀 IMG_

@echo off

set prefix=IMG_

for %%f in (*.jpg) do (

ren "%%f" "%prefix%%%f"

)

echo All files renamed.

pause

说明:

for %%f in (*.jpg):循环当前目录所有 JPG 文件。ren:重命名命令。可修改 prefix 为任意自定义前缀。

5. network_ping_loop.bat

功能:循环 ping 指定地址,并记录网络状态日志

@echo off

set target=8.8.8.8

set logfile=ping_log.txt

:loop

echo %time% >> %logfile%

ping -n 1 %target% >> %logfile%

timeout /t 5 >nul

goto loop

说明:

ping -n 1:仅 ping 一次。每 5 秒执行一次,记录时间与 ping 结果。timeout /t 5:等待 5 秒。可修改 target 为目标 IP 或域名。

6. log_cleanup.bat

功能:删除当前目录及所有子目录下的 .log 文件

@echo off

echo Deleting all .log files in and under %cd%

del /s /q *.log

pause

说明:

%cd%:当前目录。del /s /q:

/s:递归子目录。/q:静默模式,无确认提示。

养生小贴士

世界杯最美佳丽:35岁少妇惊艳亮相,被誉为俄罗斯第一足球宝贝
如何管理微信订阅项目
💡 小知识

如何管理微信订阅项目

📅 07-10 👍 58
现在正在炖排骨,电磁炉炖排骨需要多久?