批量清理java源碼的target目錄


說明

maven的構建輸出目錄是target文件夾, java項目很多, 有時候希望批量清理一下, 於是寫了這個腳本;

注意: 會清理所有子目錄下的名為target的文件夾, 如果源碼里有這個文件夾會被誤刪;
使用前請充分理解代碼邏輯, 刪除的文件無法恢復;

使用方法

方法1: 打開bat腳本, 輸入路徑或拖入目標文件夾;
方法2: 拖動目標文件夾到bat腳本圖標上;
方法3: 把bat腳本放到"發送到"文件夾, 目標文件夾上右鍵 -> 發送到.. -> 選擇bat文件
"發送到"的路徑: C:\Users\<user>\AppData\Roaming\Microsoft\Windows\SendToshell:sendto

推薦: for命令版

@rem 作用:刪除目錄和子目錄下的target文件夾
@rem 用法:拖入文件; 也可以放到"發送到"文件夾
@rem 其他:
@rem 2018/08/10 周五 13:02:31.89
@echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"

set dirpath=%~1
if not defined dirpath (
  echo 沒有傳入路徑
  set /p dirpath=請輸入路徑:
)

if not defined dirpath (
  echo 沒有路徑
  pause&goto :end
)


echo 路徑: %dirpath%
set /p case=刪除所有target?(y/n)
if "!case!" neq "y" (
  pause&goto :end
)

echo 開始掃描...
for /r %dirpath%  %%a in (.) do (
  set name=%%~nxa
  set /p a=-<nul
  if "!name!" equ "target" (
    set fullpath="%%a"
    echo;
    echo 刪除 !fullpath!
    rd /s/q !fullpath!
  )
)
echo 完成
pause

:end

dir命令版

@rem 作用:刪除目錄和子目錄下的target文件夾
@rem 用法:拖入文件; 也可以放到"發送到"文件夾
@rem 其他:
@rem 2018/08/10 周五 13:02:31.89
@echo off&SetLocal EnableDelayEdexpansion&cd /d "%~dp0"

set dirpath=%~1
if not defined dirpath (
  echo 沒有傳入路徑
  pause&goto :end
)
echo 路徑: !dirpath!
set /p case=刪除所有target?(y/n)
if "!case!" neq "y" (
  pause&goto :end
)


for /f "eol= delims=" %%a in ('dir "!dirpath!" /b /s /ad ') do (
  set name=%%~nxa
  if "!name!" equ "target" (
    set fullpath="%%a"
    echo 刪除 !fullpath!
    rd /s/q !fullpath!
  )
)
echo 完成
pause

:end


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM