[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理如何查找并删除所有分区/指定分区下指定名称的文件夹里的多个指定子文件夹

本帖最后由 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下的多个子文件及文件夹并删除其他文件夹。

  1. @echo off
  2. for %%a in (a b c d e f g h i j k) do (
  3.     if exist %%a:\ (
  4.         for /f "delims=" %%b in ('dir /ad/b/s %%a:\Games 2^>nul') do (
  5.             for %%c in ("子文件夹1" "子文件夹2" "子文件夹3") do (
  6.                 if exist "%%b\%%~c" echo;rd /s/q "%%b\%%~c"
  7.             )
  8.         )
  9.     )
  10. )
  11. pause
复制代码

TOP

返回列表