目錄
說明
maven的構建輸出目錄是target文件夾, java項目很多, 有時候希望批量清理一下, 於是寫了這個腳本;
注意: 會清理所有子目錄下的名為target的文件夾, 如果源碼里有這個文件夾會被誤刪;
使用前請充分理解代碼邏輯, 刪除的文件無法恢復;
使用方法
方法1: 打開bat腳本, 輸入路徑或拖入目標文件夾;
方法2: 拖動目標文件夾到bat腳本圖標上;
方法3: 把bat腳本放到"發送到"文件夾, 目標文件夾上右鍵 -> 發送到.. -> 選擇bat文件
"發送到"的路徑: C:\Users\<user>\AppData\Roaming\Microsoft\Windows\SendTo或shell: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
