清理Maven仓库冗余文件(lastUpdated、m2e-lastUpdated.properties、空文件夹)脚本

一、功能

  • 定位Maven仓库的路径
    在这里插入图片描述
  • 查看或删除Jar包未完全下载的相关文件(*.lastUpdated)
  • 查看或删除本地仓库目录下的空文件夹
    在这里插入图片描述

二、脚本源码

@echo>nul 2>nul @author: muyua

cls
@echo off
color 0A
title 清理maven仓库冗余文件
chcp 936>nul 2>nul
set lastUpdatedFileName=*.lastUpdated *m2e-lastUpdated.properties
::默认的maven本地仓库路径
set defaultRepoPath=D:\Software\apache-maven\mavenRepo
::%1获取拖动文件夹的路径
set pathVar=%1
if "%pathVar%" neq "" set defaultRepoPath=%pathVar%

::设置maven本地仓库地址
echo.
echo *--------------------------------------------------------------------------*
echo *                                  初始化                                  *
echo *--------------------------------------------------------------------------*
echo * 路径设置提示:                                                           *
echo *   1.拖拽maven本地仓库到bat批处理文件上执行脚本,会修改本地仓库默认路径   *
echo *   2.将你的maven本地仓库文件夹拖拽到cmd窗口,可以完成其路径输入           *
echo *   3.输入0,直接使用批处理文件所在的路径                                  *
echo *   4.使用默认路径,可以回车跳过                                           *
echo *--------------------------------------------------------------------------*
echo.
echo 默认的maven本地仓库路径:%defaultRepoPath%
echo.
set /p repoPath="请输入你的maven仓库路径:"

if "%repoPath%" equ "" (
	set repoPath=%defaultRepoPath%
) else (
	if "%repoPath%" equ "0" set repoPath=%~dp0
)
echo 您输入的maven仓库路径:%repoPath%

pause
goto menu

:menu 打印菜单目录
cls
echo maven仓库路径:%repoPath%
echo.
echo *---------------------------------------------*
echo *            清理maven仓库冗余文件            *
echo *---------------------------------------------*
echo * 【0】修改输入的maven仓库路径                *
echo * 【1】查看未完全下载的Jar包文件              *
echo * 【2】查看空文件夹                           *
echo * 【3】删除未完全下载的Jar包文件              *
echo * 【4】删除空文件夹                           *
echo * 【5】退出程序                               *
echo *请选择^<0-5^>进行操作                          *
echo *---------------------------------------------*

set /p id=
if /i "%id%"=="0" goto updateRepoPath
if /i "%id%"=="1" goto findLastUpdated
if /i "%id%"=="2" goto findEmptyFolder 
if /i "%id%"=="3" goto delLastUpdated
if /i "%id%"=="4" goto delEmptyFolder
if /i "%id%"=="5" exit
pause
goto menu

:updateRepoPath 修改输入的maven仓库路径
cls
set /p repoPathTemp="请输入你的maven仓库路径(回车返回菜单页面,输入0恢复默认路径):"
if "%repoPathTemp%" equ "" goto menu
if "%repoPathTemp%" equ "0" set repoPathTemp=%defaultRepoPath%
set repoPath=%repoPathTemp%
echo 已更新maven仓库路径:%repoPath%
set repoPathTemp=
pause
goto menu

:findLastUpdated 查看未完全下载的Jar包文件 
cls
cd /d %repoPath%
for /r %%i in (%lastUpdatedFileName%) do echo %%i
echo OK
pause 
goto menu

:findEmptyFolder 查看空文件夹
cls
cd /d %repoPath%
echo 读取空文件夹列表中...
echo 遍历文件需要时间,请稍等...
for /f "delims=" %%i in ('dir /ad/b %repoPath%\*') do (
	set xh=0
	for /f "delims=" %%a in ('dir /s/b "%repoPath%\%%i"') do if not "%%~nxa"=="" set xh=1
	if !xh! == 0 (
		echo %%~dpni
	)
)
echo OK
pause 
goto menu

:delLastUpdated 删除未完全下载的Jar包文件
cls
cd /d %repoPath%
for /r %%i in (%lastUpdatedFileName%) do del %%i && echo 正在删除%%i
echo 删除操作完成,OK
pause 
goto menu

:delEmptyFolder 删除空文件夹
cls
cd /d %repoPath%
echo 开始遍历...
for /f "delims=" %%a in ('dir /ad /b /s %repoPath% ^| sort /r') do (
	rd "%%~a">nul 2>nul & echo %%~a
)
echo 删除操作完成,OK
pause 
goto menu

三、脚本文件

获取链接:clearRedundantMavenRepo.bat

PS:网上没有找到功能比较完善的脚本,自己写来自用。别问我脚本怎么写的,我也是现学现卖,我尽力了!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值