找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: delab-1

[文件操作] 求助批处理删除多个文件夹中a和b文件以外的所有文件

[复制链接]
发表于 2024-8-21 10:57:29 | 显示全部楼层
回复 15# 77七


   
    一两个还好,多了逻辑跟不上。
对于自己就是尽量避免吧。
findstr也是有问题,但是可以和find互补。反正是为了达成目的。那个行就用那个。
发表于 2024-8-21 11:30:51 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-21 11:41 编辑


11楼的操作流程可以再合并一步如下

  1. @echo off
  2. set "f1=all_exprot_12.txt"
  3. set "f2=all_import_12.txt"
  4. ( for /L %%d in (2017,1,2023) do dir /b/s/a-d "%%d"|findstr /ivc:"%f1%" /ivc:"%f2%" )>all.1
  5. for /f "delims=" %%F in (all.1) do del /q "%%F"
  6. del /q "all.1" &pause &exit/b
复制代码
另说》本帖题型虽不复杂,但几个不同版本的纯P代码值得玩味其中的操作步骤强度,也算是一个简单的作业量计算吧,仅供参考。至于最终的效率差别,还要看实况验证了...

不同版本的纯P作业量简单计算》
6个子目录 2017-2023,每个子目录有2个保留文件,假设每个子目录的文件数是 100
     01楼代码需要 比较+删除 = 6*100+6*(100-2) = 1188;
     06楼代码需要 创建+移动+删除 = 1+6*(2+1)+6+1 = 26;
     11楼代码需要 创建+删除 = 6+6*(100-2) = 594;
     02楼代码调用专用工具 robocopy 整体封装移动删除,不去议论了...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 19:42 , Processed in 0.013065 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表