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

[文件操作] 批处理怎样查找其多个子目录中的指定文件并复制到另一个文件夹中?

[复制链接]
发表于 2012-4-10 22:36:31 | 显示全部楼层 |阅读模式
有很多文件存在于一个D:/123下的多个子目录中,查找并复制到D:/work目录下,并且能按照之前的目录结构复制,没有目录的就在D:/work下建立同文件在D:/123下的文件存在的子目录相同的目录。
*首先说明一点,复制的文件只是所处文件夹其中的一个,里面其他的文件不复制,所以不是复制整个文件夹。望高手指点~!
发表于 2012-4-11 03:48:11 | 显示全部楼层
xcopy  不能解决么?
发表于 2012-4-11 03:55:58 | 显示全部楼层
xcopy  /e d:\123 d:\work\123  ....OK!
发表于 2012-4-11 13:20:46 | 显示全部楼层
  1. @echo off
  2. set "pth=d:\123"
  3. set/p name=输入文件名:
  4. for /f "delims=" %%a in ('dir /a-d /b /s "%pth%\%name%"') do (
  5.   set "p=%%~dpa"
  6.   call xcopy "%%a" "%%p:%pth%=d:\work%%" /y
  7. )
  8. pause
复制代码
 楼主| 发表于 2012-4-13 13:14:26 | 显示全部楼层
apang 发表于 2012-4-11 13:20



    我还想再问一下,要是我把需要复制的多个文件名做成一个txt文件,如何读取
  “set/p name=输入文件名:”这个命令只能一个文件名一个输入,怎么改成读取一个列表
发表于 2012-4-13 15:24:16 | 显示全部楼层
回复 5# waynely
  1. @echo off
  2. set "pth=d:\123"
  3. for /f "delims=" %%a in (a.txt) do (
  4.   for /f "delims=" %%b in ('dir /a-d /b /s "%pth%\%%a"') do (
  5.     set "p=%%~dpb"
  6.     call xcopy "%%b" "%%p:%pth%=d:\work%%" /y
  7.   )
  8. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 02:09 , Processed in 0.017881 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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