[toc]
阐明
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=%~1if 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=%~1if 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