批量删除目录
@echo off
:: 解决读取文件内容中文乱码的问题。当前bat需要保存为utf-8
chcp 65001
@cls@rem 获取当前路径
SET CURRENT_DIR=%~dp0@rem 目标文件夹
SET target="target"for /r "%CURRENT_DIR%" %%a in (.) do (if "%%~nxa"==%target% (echo 删除 %%ard /s/q %%a))
)
echo.
echo 清理完成!
pause
删除多个目标文件夹
在套一层 for
就行了。只要设置目标文件夹
多个用逗号分隔。然后执行即可。
@echo off
:: 解决读取文件内容中文乱码的问题。当前bat需要保存为utf-8
chcp 65001
@cls@rem 获取当前路径
SET CURRENT_DIR=%~dp0@rem 目标文件夹 target,mytest 多个用逗号分隔
SET target=target,mytestfor /r "%CURRENT_DIR%" %%a in (.) do (for %%b in (%target%) do (if "%%~nxa"=="%%b" (echo 删除 %%ard /s/q %%a))
)echo.
echo 清理完成!
pause
批量删除文件
@echo off
:: 解决读取文件内容中文乱码的问题。当前bat需要保存为utf-8
chcp 65001
@cls@rem 目标文件名。多个文件名用空格分隔。
SET target=aaa.xml bbb.mdfor %%a in (%target%) do (del /f /s %%a)
)
echo.
echo 清理完成!
pause
核心就是 del /f /s %%a
如果目标文件不多,直接写成这样更简单:
del /f /s aaa.xml
del /f /s bbb.md
参考资料
笑虾:BAT 学习笔记
批量拉取所有子目录 git pull --all