Board logo

标题: [文本处理] bat如何批量删除子文件夹里的文件 [打印本页]

作者: laolou01    时间: 2020-11-29 17:37     标题: bat如何批量删除子文件夹里的文件

本帖最后由 laolou01 于 2020-11-29 17:41 编辑

bat如何批量删除子文件夹里的文件, 例如文件夹A里有 1  2  3  4  5图片          文件夹B里有 1  2  3  4  5图片      文件夹C里有 1  2  3  4  5图片          文件夹D里有 1  2  3  4  5    6   7图片        如何指定删除ABCD里的3这个图片     文件夹有很多ABCDE1234等等就是该目录下的所有文件夹里的3图片全部删除   求大神给个代码
作者: went    时间: 2020-11-29 19:04

  1. del /f /s 3.jpg
复制代码

作者: laolou01    时间: 2020-11-29 19:23

回复 2# went


    例如:文件夹里有400个文件   按顺序1 2  3  4 5 .....400这样下来的    如何把他们分开4个一组放到文件夹里      把1234放文件夹1(名称1234)    把5678放文件夹2(改为1234)      把9 10 11 12放文件夹3(改为1234)     类推      求大神给个代码
作者: went    时间: 2020-11-29 19:52

  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. REM 文件夹
  4. set "dir=G:\Code\test"
  5. REM 拓展名
  6. set "ext=.txt"
  7. REM 新文件夹起始索引
  8. set "folderIndex=1"
  9. REM 单个文件夹文件个数
  10. set "subItem=4"
  11. set "str=0000000000"
  12. REM 排序文件
  13. set "code=(for /r "%dir%" %%i in ("*%ext%"^) do @(set "n=%str%%%~ni" ^& call echo %%n:~-10%%?%%i ^)^) ^| sort"
  14. REM 移动文件
  15. set "count=0"
  16. mkdir "%dir%\!folderIndex!" >nul 2>nul
  17. for /f "tokens=2 delims=?" %%a in ('%code%') do (
  18. set /a "count+=1"
  19. echo move "%%a" "!folderIndex!\!count!%%~xa"
  20. move "%%a" "%dir%\!folderIndex!\!count!%%~xa" >nul
  21. if "!count!"=="!subItem!" (
  22. set /a "count=0,folderIndex+=1"
  23. mkdir "%dir%\!folderIndex!" >nul 2>nul
  24. )
  25. )
  26. pause&exit
复制代码
回复 3# laolou01
作者: laolou01    时间: 2020-11-29 20:38

回复 4# went


    不行啊   大神  这个运行了没效果   文件是图片jpg格式的   bat文件放在图片400张里运行的  运行了没有效果
作者: went    时间: 2020-11-29 20:43

看注释
第4行是jpg文件夹路径,当前文件夹就写 set "dir=%~dp0"
第6行是文件拓展名,jpg文件就写 set "ext=.jpg"
作者: laolou01    时间: 2020-11-29 21:33

回复 6# went


    如果是3个一组就是第十行   4改为3是吗
作者: Batcher    时间: 2020-11-29 21:51

回复 7# laolou01


    大胆假设,小心求证。自己试验一下先,遇到真实问题大家再讨论。




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