本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2024-11(1)

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

发布于2021-05-29 22:57     阅读(588)     评论(0)     点赞(26)     收藏(0)


一、功能

  • 定位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:网上没有找到功能比较完善的脚本,自己写来自用。别问我脚本怎么写的,我也是现学现卖,我尽力了!!!



所属网站分类: 技术文章 > 博客

作者:程序员之神

链接:http://www.javaheidong.com/blog/article/207816/e4ec932d0ed4348b8347/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)