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

[文本处理] 根据文件名批量复制文件

1.根据文件名称批量搜索文件夹A(包括它的子文件夹)
文件名中只要包含关键字,都提取
2.将搜索到的全部文件都放置在文件夹B

菜鸟一只,求大神相助!

  1. @echo off
  2. set "FileTxt=D:\a.txt"
  3. set "SourDir=D:\Test"
  4. set "DestDir=D:\Test1"
  5. cd /d "%SourDir%"
  6. for /f %%a in ('type "%FileTxt%"') do (
  7. for /f %%i in ('dir /a-d /b /s^|findstr "%%a"') do (
  8. set "DirName=%%~dpi"
  9. setlocal enabledelayedexpansion
  10. set "DirName=!DirName:%SourDir%=!"
  11. if not exist "%DestDir%!DirName!" md "%DestDir%!DirName!"
  12. copy "%%i" "%DestDir%!DirName!"
  13. endlocal
  14. ))
  15. pause
复制代码
根据a.txt中所列文件名,查找源目录D:\Test,如果文件存在,复制到目的目录D:\Test1中,并保存文件原来的文件夹结构。

TOP

通配符 ?代替1个字母或汉字  *可代替任意多个。
“” 当文件路径和文件名中含空格时,用“”括起来
新人要善于使用命令的帮助信息

copy /q "a\*相同*.*" b\
目的,学习批处理

TOP

返回列表