记录工具代码。
将代码复制粘贴到以bat为后缀的文件中,双击后弹出cmd执行。
maven打包工具:
@echo off
rem 文件使用GBK编码,输出 会乱码
rem 如果IDEA输入参数无效,在CMD属性中设置使用旧版控制台,重启即可。或者使用CMD运行。
rem -s命令是自定义Maven设置
rem -Dmaven.repo.local参数是自定义本地仓库地址
title 打包服务成jar包
rem 选择环境
echo 设置: 0.默认环境; 1.丁欣裕;
set /p e=请选择环境:
rem 默认环境
if %e%==0 goto default
rem 丁欣裕
if %e%==1 goto ding
:default
echo 选择默认的打包环境
call mvn clean compile compile package
goto exit
:ding
echo 选择丁欣裕的打包环境
call mvn -s D:\MavenRepository\setting.xml -Dmaven.repo.local=D:\MavenRepository\repository clean compile compile package
goto exit
:exit
echo 已完成jar文件的打包
遍历进入子目录进行maven打包:
@echo off
echo =============== start ===============
rem 显示当前目录路径
set dir=%cd%
echo 当前目录: %dir%
rem 指定复制目标路径
set /p target=指定复制到该路径下:
echo 复制到: %target%
rem 选择maven配置环境
set /p env=请选择环境[0.默认环境 1.丁欣裕]:
echo 输入为: %env%
echo [开始循环进入子目录]
rem 循环子目录,进入子目录,执行mvn命令,返回
for /d %%i in (*) do (
rem 将模块名称输出到一个文本文档中
echo [当前模块]: %%i >> %target%\a.txt
rem 进入子目录
cd %%i
rem 执行maven打包命令
rem 默认环境
if %env%==0 (
echo 选择默认的打包环境
call mvn clean compile compile package
)
rem 丁欣裕
if %env%==1 (
echo 选择丁欣裕的打包环境
call mvn -s D:\MavenRepository\setting.xml -Dmaven.repo.local=D:\MavenRepository\repository clean compile compile package
)
echo 打包成功
rem ====================
rem Todo -> 将打包好的jar包复制出来到一个指定目录
cd target
echo 进入target目录 [%cd%]
echo 将jar包复制到 [%target%] 目录下
rem 如果存在同名文件会覆盖掉
copy *.jar %target%
cd..
rem ====================
rem 回到根目录
cd ..
echo 回到原目录下 [%cd%]
echo [end]
)
echo [循环结束]
echo =============== 所有的jar包已经输出到 %target% 目录下 ===============
批量复制指定文件到多个子目录里指定的路径:
@echo off
title 批量复制文件到多个目录
echo 注意:批量复制文件到多个目录 (仅限该域目录下)
rem 显示当前目录路径
set dir=%cd%
echo 当前目录: %dir%
pause
echo =============== 开始 ===============
rem 指定文件
set /p target=输入被复制文件的地址:
rem 替换输入中的斜杠为Windows可读的反斜杠
set target=%target:/=\%
echo 正在检查文件是否存在……
if exist %target% (
echo 文件存在
goto copy
) else (
echo 文件不存在
goto exit
)
:copy
set /p relativePath=输入复制的目标地址,即模块内相对目录:
set relativePath=%relativePath:/=\%
echo [循环进入子目录]
rem 循环子目录,进入子目录,执行mvn命令,返回
for /d %%i in (*) do (
echo 进入%%%i模块
echo 正在复制文件中……
if exist %dir%\%%i\%relativePath%\ (
echo 目录已存在
) else (
echo 目录不存在,正在创建目录……
mkdir %dir%\%%i\%relativePath%\
)
copy %target% %dir%\%%i\%relativePath%\
echo 复制文件完成
)
echo [循环完毕]
goto exit
:exit
echo =============== 结束 ===============
批量删除子目录下 指定文件:
@echo off
title 批量删除 InterfaceDesc.xml
echo 注意:批量删除 InterfaceDesc.xml文件 (仅限该域目录下)
rem 显示当前目录路径
set dir=%cd%
echo 当前目录: %dir%
pause
echo =============== 开始 ===============
echo [循环进入子目录]
rem 循环子目录,进入子目录,执行mvn命令,返回
for /d %%i in (*) do (
if exist %dir\%%%i\src\main\resources\properties\InterfaceDesc.xml (
echo 发现%%%i模块存在InterfaceDesc.xml文件
echo 正在删除%%%i模块的InterfaceDesc.xml文件中……
del %dir\%%%i\src\main\resources\properties\InterfaceDesc.xml
cd %dir%
echo 删除%%%i模块的InterfaceDesc.xml完成
)
)
echo [循环完毕]
echo =============== 结束 ===============
批量删除子目录下指定文件:
@echo off
title 批量删除文件
echo 注意:批量删除文件 (仅限该域目录下)
rem 显示当前目录路径
set dir=%cd%
echo 当前目录: %dir%
pause
echo =============== 开始 ===============
rem 指定文件
set /p target=输入文件相对路径(从项目根目录开始):
rem 替换输入中的斜杠为Windows可读的反斜杠
set target=%target:/=\%
echo [循环进入子目录]
rem 循环子目录,进入子目录,执行mvn命令,返回
for /d %%i in (*) do (
if exist %dir%\%%i\%target% (
echo 发现%%%i模块存在该文件
echo 正在删除文件中……
del %dir%\%%i\%target%
cd %dir%
echo 删除文件完成
)
)
echo [循环完毕]
echo =============== 结束 ===============
批量删除子目录里指定的目录
@echo off
title 批量删除子工程目录
rem 显示当前目录路径
set dir=%cd%
echo 当前目录: %dir%
rem 指定工程目标目录相对路径
set /p target=目录相对路径:
rem 替换输入中的斜杠为Windows可读的反斜杠
set target=%target:/=\%
echo [开始循环进入子目录]
rem 循环子目录,进入子目录,执行mvn命令,返回
for /d %%i in (*) do (
cd %%i
if exist %dir%\%%i\%target%\ (
echo 发现%%i存在该目录
echo 正在删除%dir%\%%i\%target%\目录中……
rmdir /s /q %dir%\%%i\%target%\
echo 删除%dir%\%%i\%target%\目录完成!
)
cd %dir%
)
echo 删除目录完成