当前位置: 首页 > article >正文

Windows批处理脚本入门教程

一、批处理脚本基础
  1. 什么是.bat文件

    • 扩展名为.bat.cmd的文本文件

    • 包含一系列DOS命令的自动化脚本

    • 双击即可按顺序执行所有命令

  2. 创建第一个脚本

    @echo off
    echo 你好,世界!
    pause
    • @echo off 关闭命令回显

    • echo 输出内容

    • pause 暂停等待按键

  3. 常用基础命令

    rem 这是注释
    title 我的清理工具      :: 设置窗口标题
    color 0A               :: 设置背景黑/文字绿
    cls                    :: 清屏

二、进阶语法要素
  1. 变量操作

    set var=值          :: 定义变量
    echo %var%          :: 输出变量 
    set /p input=请输入: :: 接收用户输入
  2. 条件判断

    if exist C:\a.txt (
        echo 文件存在
    ) else (
        echo 文件不存在
    )
    ​
    if %num%==10 echo 等于10
  3. 循环结构

    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:计算可用空间

💡 使用建议

  1. 保存方法

    • 新建文本文档 → 输入代码 → 另存为CleanTool.bat(选择编码为ANSI,防止中文显示乱码)

    • 设置运行方式:右键属性 → 勾选"以管理员身份运行"

  2. 安全提示

    :: 危险命令警示(示例)
    rd /s /q C:\Windows   ← 切勿尝试!会删除系统文件
  3. 扩展方向

    :: 添加日期判断(每周一清理)
    if %date:~0,3%==Mon call :quick_clean
    ​
    :: 记录清理日志
    echo [%date% %time%] 清理执行 >> clean.log

通过这个教程,你可以掌握基本的Windows批处理编程,并拥有一个实用的系统清理工具,建议阅读时配合实际操作增进理解


http://www.kler.cn/a/580945.html

相关文章:

  • 如何设置GET请求的参数?
  • Spring Boot中的YML配置列表的详细解析
  • CSS 权重:优先级规则
  • 《计算机图形学》第一课笔记-----opengl开发环境搭建
  • [machine learning] DP(Data Parallel) vs DDP(Distributed Data Parallel)
  • 【神经网络】python实现神经网络(二)——正向推理的模拟演练
  • Fedora41安装MySQL8.4.4
  • MYSQL学习笔记(十一):MYSQL数据类型讲解
  • 如何在 React 中实现错误边界?
  • 【简答题002】Java变量简答题
  • Vue3中使用exceljs和file-saver实现Excel导出(含图片导出)完整方案
  • qt 多进程使用共享内存 ,加速数据读写,进程间通信 共享内存
  • 如何在 React 中使用 CSS-in-JS?
  • DevOps实践指南
  • 基于SpringBoot实现旅游酒店平台功能八
  • SpringBoot3 快速启动框架
  • UDP-网络编程/socket编程
  • 【leetcode hot 100 138】随机链表的复制
  • C#方法之详解
  • 【C++】 命令空间 不具名命名空间 具名命名空间