如何修改批处理脚本,强制删除各级子文件夹中的指定文件夹?
我来帮你调整这个批处理脚本,让它能递归删除所有子文件夹里的scss目录,同时保留你原本删除指定文件的功能,而且保持简洁:
修改后的脚本
@echo off SET "this_dir=你的目标目录路径" REM 递归删除指定的4个文件(包含所有子文件夹) DEL /s /q "%this_dir%\gulp_start.bat" "%this_dir%\.brackets.json" "%this_dir%\package.json" "%this_dir%\gulpfile.js" REM 递归强制删除所有scss目录(包含目录内所有内容) RMDIR /s /q "%this_dir%\scss"
关键调整说明
@echo off:关闭命令回显,让脚本运行过程更干净,不会打印每一条执行的命令SET "this_dir=...":把目标目录路径存入变量,后续修改路径更方便,记得替换成你实际要操作的目录DEL /s /q:/s参数会递归搜索所有子文件夹并删除匹配文件,/q是安静模式,无需手动确认删除;每个文件路径用引号包裹,避免路径含空格时出错RMDIR /s /q:RMDIR(也可简写为RD)的/s参数会删除指定目录及其内所有文件、子目录,/q安静模式,这样就能一次性删掉所有层级子文件夹里的scss目录
如果不想用变量,直接写死路径的话,也可以简化成:
@echo off DEL /s /q "你的目标目录路径\gulp_start.bat" "你的目标目录路径\.brackets.json" "你的目标目录路径\package.json" "你的目标目录路径\gulpfile.js" RMDIR /s /q "你的目标目录路径\scss"
原脚本的问题
你之前的写法把scss和rmdir混在DEL命令里,语法错误导致scss目录的删除逻辑失效;而且RMDIR没加/s参数,只能删除当前目录下的scss,无法递归处理子文件夹。
内容的提问来源于stack exchange,提问作者norbidrak
相关产品推荐
相关产品推荐

