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

自动清空 maven 项目临时文件,vue 的 node_modules 文件

@echo off
setlocal enabledelayedexpansion

:: vue 的 node_modules 太大
:: maven 打包后的 target 文件也很大,
:: 有些项目日志文件也很大,导致磁盘空间不足了,
:: 所以写了个脚本,只要配置一下各项目目录,
:: 双击这个脚本就可自动清空这些文件,
:: 清空某个目录时,需要输入Y进行确认
:: 注意:目录可以是中文的,但不能包含空格(如不支持C:\Program Files)


:: 配置区 start =================================================
:: 需要清理的各项目目录(以空格分隔)
:: set "projectRoots=D:\Work\jorchi\didi-driving\didi-driving-server D:\Work\jorchi\alichat\ali-chat-client-vue-prod D:\Work\jorchi\didi-driving\didi-driving-server-test D:\Work\jorchi\didi-driving\didi-driving-server-prod D:\Work\jorchi\car-data-business\car-data-business-server D:\Work\jorchi\alichat\ali-chat-server-dev D:\Work\jorchi\alichat\ali-chat-server-prod D:\Work\jorchi\alichat\ali-chat-server-sync D:\Work\jorchi\alichat\ali-chat-server-sync-prod D:\Work\jorchi\alichat\ali-chat-server-test D:\Work\jorchi\alichat\ali-chat-server-uat"
set "projectRoots="

:: 需要直接清理的各临时文件目录(以空格分隔)
:: set "tmpDirs=D:\临时目录 D:\log D:\TestDir D:\usr\local D:\data D:\imgdata D:\Work\jorchi\alichat\ali-chat-client-vue-prod\ROOT D:\root\TongWeb7.0\logs"
set "tmpDirs=D:\临时目录 D:\log"

:: 配置区 end ====================================================

:: 清理项目日志目录
for %%r in (%projectRoots%) do (
    cd /d "%%r"
    echo [清空] mvn clean at %%r
    call mvn clean
    set "_root=%%~r"
    :: 清空项目根目录下日志文件
    set "_logDir=!_root!\logs"
    call :clean_dir "!_logDir!" "项目日志"
    :: 清空某模块下的日志文件
    set "_logDir=!_root!\server-api\logs"
    call :clean_dir "!_logDir!" "项目日志"
    :: 清空 node_modules 文件
    set "_logDir=!_root!\node_modules"
    call :clean_dir "!_logDir!" "项目依赖"
)

:: 清理临时文件目录
for %%d in (%tmpDirs%) do (
    call :clean_dir "%%~d" "临时文件"
)

endlocal

echo [已执行完毕]
pause
exit /b 0

:: 通用清理函数 -----------------------------
:clean_dir
set "target=%~1"
set "type=%~2"

if not exist "!target!\" (
    :: echo [跳过][!type!] 目录不存在: %~1
    exit /b 0
)

:: 用户确认环节
:confirm
set /p "choice=确认要清空目录 [%~1] 吗?(Y/N): "
if /i "!choice!" == "Y" (
    echo 正在清理: %~1 ...
    del /q /s /f "!target!\*" >nul 2>&1
    rmdir /s /q "!target!" >nul 2>&1
    if exist "!target!\" (
        echo [失败] 清理未完成: %~1
    ) else (
        echo [成功] 已清理: %~1
    )
) else if /i "!choice!" == "N" (
    echo [取消] 已跳过: %~1
) else (
    echo 输入无效,请按 Y 或 N
    goto confirm
)
exit /b 0

http://www.xdnf.cn/news/141301.html

相关文章:

  • Virtuoso ADE采用Spectre仿真中出现MOS管最小长宽比满足要求依然报错的情况解决方法
  • 【高频考点精讲】async/await原理剖析:Generator和Promise的完美结合
  • RTMP 入门指南
  • Aloudata Agent :基于 NoETL 明细语义层的分析决策智能体
  • Linux阻塞与非阻塞I/O:从原理到实践详解
  • 学硕热度下降,25西电数学与统计学院(考研录取情况)
  • 高频面试题:如何保证数据库和es数据一致性
  • ES历史版本下载
  • 第TR5周:Transformer实战:文本分类
  • 图像识别系统 - Ubuntu部署指南(香橙派开发板测试)-学习记录1
  • MySQL 详解之函数:数据处理与计算的利器
  • HOW - 如何模拟实现 gpt 展示答案的交互效果
  • form表单提交前设置请求头request header及文件下载
  • 线程怎么创建?Java 四种方式一网打尽
  • uniapp 仿企微左边公司切换页
  • FreeRTOS
  • 斗鱼娱乐电玩平台源码搭建实录
  • 短视频矩阵系统可视化剪辑功能开发,支持OEM
  • QT 连接数据库操作(15)
  • Pandas 数据导出:如何将 DataFrame 追加到 Excel 的不同工作表
  • 银发科技:AI健康小屋如何破解老龄化困局
  • MYSQL之数据类型
  • 【MySQL】3分钟解决MySQL深度分页问题
  • git 命令集
  • 【Web应用服务器_Tomcat】一、Tomcat基础与核心功能详解
  • 如何配置Spark
  • Spring-Framework源码环境搭建
  • 7.10 GitHub Sentinel CLI开发实战:Python构建企业级监控工具的5大核心技巧
  • JMeter添加HTTP请求默认值元件的作用详解
  • 百度打响第一枪!通用超级智能体时代,真的来了