Board logo

标题: 10元求一个批量删除 [打印本页]

作者: zlbang    时间: 2017-3-15 22:31     标题: 10元求一个批量删除

本帖最后由 zlbang 于 2017-3-15 22:35 编辑

具体报酬:10元人民币
支付方式:支付宝,网银转账,微信
联系方式:QQ:269979606
有效期限:2017年3月30号之前
需求描述:
(1)系统环境(XP中文繁体版)
(2)需求:比如C盤,d盤根目录下有aabbcc,aaddee,wwww的文件夾,該文件夾內都有一個【hjkl】的文件夾。只刪除【aa】字符开头的文件夾下的【hjkl】文件夾。而保留其他文件夾里的【hjkl】文件夾。
                 就是只刪除【aa】开头文件夾下的指定文件,而不影響到其他文件夾下的同名文件。
作者: nidnil    时间: 2017-3-15 23:05

本帖最后由 nidnil 于 2017-3-16 00:54 编辑

如果题意是:
文件夹必须符合,第二层是以 aaa 或 bbb 开头,并且 其第四层 含有 wwww 的文件夹,对 wwww 进行删除,忽略其他文件夹和文件。
  1. @echo off
  2. REM 文件夹总数多,但是越接近根文件夹,数量越少的情况
  3. for /d %%b in (
  4.     "D:\*"
  5. ) do for /d %%c in (
  6.     "%%~b\aaa*" "%%~b\bbb*" ::?"这里添加第二层的匹配方式"
  7. ) do for /d %%d in (
  8.     "%%~c\*"
  9. ) do for /d %%e in (
  10.     "%%~d\wwww" ::?"此处添加第四层的匹配方式,如果用 exist 则需要判断是否为文件夹"
  11. ) do rd /s /q "%%~e"
复制代码
保存成 cmd 执行


如果文件较少
  1. for /d /r D:\ %%b in (
  2.     wwww
  3. ) do for /f "usebackq tokens=3,5 delims=\" %%c in (
  4.     '"%%b"'
  5. ) do if "%%~d"=="wwww" set "_%%c=%%~b"
  6. for %%a in (
  7.     aaa bbb
  8. ) do for /f "tokens=1* delims==" %%b in (
  9.     `set _%%a`
  10. ) do rd /s /q "%%~c"
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2