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

[文件操作] 批处理怎样批量搜索文件并拷贝至新文件夹?

[复制链接]
发表于 2022-5-13 13:39:33 | 显示全部楼层 |阅读模式
代码可以实行建立以LIST.txt为名的文件夹,并且搜索目录中符合要求的文件拷贝至对应的文件夹,
现在的问题是想指定文件夹,文件夹名称为0001-0010,求助各位如何修改,我上传不了图片,小弟初来乍到,还请各位布林赐教
  1. @echo off
  2. color 3E
  3. echo 本程序复制/剪切当前目录下含有特定关键字的特定类型文件
  4. echo 注意:覆盖不提示,请小心操作
  5. echo 注意:关键字列表不要有空格、空行、空回车
  6. echo.
  7. if not exist list.txt (echo.
  8. echo 请先将关键字列表保存为list.txt...
  9. pause > NUL
  10. exit
  11. )
  12. echo.
  13. echo 选择要进行的操作:
  14. set /p opt=复制(c) or 剪切(x):
  15. if %opt% NEQ c if %opt% NEQ x (
  16. echo 没有选项,byebye!
  17. pause >NUL
  18. exit
  19. )
  20. set /p ext=指定文件扩展名(不含".",比如pdf,不指定请输入*):
  21. set /p url=目标文件夹路径(不可在当前目录内,末尾不要带斜杠\):
  22. if not exist %url% md %url%
  23. if %opt%==c set task=复制
  24. if %opt%==x set task=剪切
  25. echo 按任意键开始%task%....
  26. pause > NUL

  27. set count=0
  28. set c=0
  29. for /f "tokens=*" %%i in (list.txt) do (
  30. md %url%\%%i
  31. set /A c+=1
  32. ren ren "%url%\%%i" "000!c!"
  33. for /r %%j in (*%%i*.%ext%) do (
  34. echo 正在%task% %%j 到 %url%\%%i
  35. if %opt%==c (copy /Y "%%j" "%url%\%%i" >NUL)
  36. if %opt%==x (move /Y "%%j" "%url%\%%i" >NUL)
  37. rem REN %url%\%%i  %url%\%%i
  38. set /a count+=1

  39. )

  40. )
  41. echo.
  42. echo 任务完成!共%task%了%count%个文件
  43. echo.

  44. echo ..
  45. pause >NUL
  46. exit
复制代码
 楼主| 发表于 2022-5-13 13:43:06 | 显示全部楼层
实在是上传不了图片,搜索文件关键字和对应新文件夹大致是这个样子的
文件是有重复的,所以只能拷贝,


0001-------文件1
0002-------文件2
0003-------文件3
0004-------文件1
0005-------文件3
发表于 2022-5-13 14:57:08 | 显示全部楼层
回复 2# 我shi小白


如果需要上传文件,可以用阿里云盘或百度网盘。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
 楼主| 发表于 2022-5-13 16:48:04 | 显示全部楼层

目录是这样的,第一列是新文件夹的名,第二列是对应的文件
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 01:38 , Processed in 0.013229 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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