
标题: [文件操作] 批处理如何查找并删除所有分区/指定分区下指定名称的文件夹里的多个指定子文件夹 [打印本页]
作者: everydayjj 时间: 2016-11-15 19:09 标题: 批处理如何查找并删除所有分区/指定分区下指定名称的文件夹里的多个指定子文件夹
本帖最后由 pcl_test 于 2016-11-15 20:01 编辑
求助!批处理如何才能删除每个分区下的某个子目录下指定的多个文件夹。
例如: 所有分区或指定多个分区:\任意文件夹\任意文件夹\Games\aa
所有分区或指定多个分区:\任意文件夹\任意文件夹\Games\bbb
所有分区或指定多个分区:\任意文件夹\任意文件夹\Games\cc
所有分区或指定多个分区:\任意文件夹\任意文件夹\Games\dddd
所有分区或指定多个分区:\任意文件夹\任意文件夹\Games\....
以上的功能如何用批处理简单高效的的执行呢?
目前只能暂时用这样的命令
for /r 任意指定分区:\ %%a in (.) do @if exist %%a\Games\ccc rd /s /q %%a\Games\ccc
这个弊端就是文件夹太多的话执行效率很低
for %%a in (c ) do (
cd /d %%a:\
for /d /r %%b in (*) do if "%%~nxb"=="Games" rd /s /q "%%b"
)
exit
这个批处理能删除全盘“Games”文件夹,但我想删除Games文件夹下的指定的多个子文件夹,或者保留指定的Games下的多个子文件及文件夹并删除其他文件夹。
作者: pcl_test 时间: 2016-11-18 16:53
- @echo off
- for %%a in (a b c d e f g h i j k) do (
- if exist %%a:\ (
- for /f "delims=" %%b in ('dir /ad/b/s %%a:\Games 2^>nul') do (
- for %%c in ("子文件夹1" "子文件夹2" "子文件夹3") do (
- if exist "%%b\%%~c" echo;rd /s/q "%%b\%%~c"
- )
- )
- )
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |