Windows批处理脚本入门教程
一、批处理脚本基础
-
什么是.bat文件
-
扩展名为
.bat
或.cmd
的文本文件 -
包含一系列DOS命令的自动化脚本
-
双击即可按顺序执行所有命令
-
-
创建第一个脚本
@echo off echo 你好,世界! pause
-
@echo off
关闭命令回显 -
echo
输出内容 -
pause
暂停等待按键
-
-
常用基础命令
rem 这是注释 title 我的清理工具 :: 设置窗口标题 color 0A :: 设置背景黑/文字绿 cls :: 清屏
二、进阶语法要素
-
变量操作
set var=值 :: 定义变量 echo %var% :: 输出变量 set /p input=请输入: :: 接收用户输入
-
条件判断
if exist C:\a.txt ( echo 文件存在 ) else ( echo 文件不存在 ) if %num%==10 echo 等于10
-
循环结构
for %%i in (1,2,3) do echo %%i for /r D:\ %%f in (*.tmp) do del "%%f"
🗑️ 实战脚本:一键清理系统垃圾
@echo off
title 系统垃圾清理工具 v2.1
color 0A
mode con: cols=60 lines=20
:: 检查管理员权限
NET FILE >NUL 2>&1
if '%errorlevel%' NEQ '0' (
echo 正在请求管理员权限...
powershell Start-Process -FilePath "%0" -Verb RunAs
exit
)
:menu
cls
echo ╔════════════════════════╗
echo ║ 系统清理工具 ║
echo ╠════════════════════════╣
echo ║ 1. 快速清理垃圾文件 ║
echo ║ 2. 深度清理(含系统更新) ║
echo ║ 3. 退出 ║
echo ╚════════════════════════╝
set /p choice=请选择操作[1-3]:
if "%choice%"=="1" goto quick_clean
if "%choice%"=="2" goto deep_clean
if "%choice%"=="3" exit
goto menu
:quick_clean
echo 正在清理临时文件...
del /s /q "%temp%\*.*" >nul 2>&1
del /s /q "%userprofile%\AppData\Local\Temp\*.*" >nul 2>&1
echo 清理浏览器缓存...
del /s /q "%userprofile%\AppData\Local\Google\Chrome\User Data\Default\Cache\*.*" >nul 2>&1
del /s /q "%userprofile%\AppData\Local\Microsoft\Windows\INetCache\*.*" >nul 2>&1
echo 清空回收站...
rd /s /q "%systemdrive%\$Recycle.bin" >nul 2>&1
goto show_result
:deep_clean
call :quick_clean
echo 清理系统更新缓存...
Dism /Online /Cleanup-Image /StartComponentCleanup /ResetBase
echo 清理Windows日志...
del /q %systemroot%\System32\LogFiles\*.* >nul 2>&1
:show_result
echo 操作完成!预估释放空间:
fsutil volume diskfree C: | find "可用字节数"
echo 按任意键返回菜单...
pause >nul
goto menu
🛠️ 重点功能解析
功能模块 | 作用描述 | 核心命令 |
---|---|---|
权限检查 | 确保以管理员身份运行 | NET FILE 检测权限,Start-Process -Verb RunAs 提权 |
浏览器缓存清理 | 支持Chrome/Edge清理 | 删除AppData\Local\Microsoft\Windows\INetCache 和Chrome的Cache 目录 |
系统更新清理 | 移除旧版Windows更新文件 | Dism /Online /Cleanup-Image 系统级清理 |
可视化结果 | 显示实际释放的磁盘空间 | fsutil volume diskfree C: 计算可用空间 |
💡 使用建议
-
保存方法
-
新建文本文档 → 输入代码 → 另存为
CleanTool.bat
(选择编码为ANSI,防止中文显示乱码) -
设置运行方式:右键属性 → 勾选"以管理员身份运行"
-
-
安全提示
:: 危险命令警示(示例) rd /s /q C:\Windows ← 切勿尝试!会删除系统文件
-
扩展方向
:: 添加日期判断(每周一清理) if %date:~0,3%==Mon call :quick_clean :: 记录清理日志 echo [%date% %time%] 清理执行 >> clean.log
通过这个教程,你可以掌握基本的Windows批处理编程,并拥有一个实用的系统清理工具,建议阅读时配合实际操作增进理解