Board logo

标题: [文件操作] 批处理命令XCOPY怎么拷贝每个目录里指定的那个目录里的jpg文件? [打印本页]

作者: amer0798    时间: 2012-6-15 23:07     标题: 批处理命令XCOPY怎么拷贝每个目录里指定的那个目录里的jpg文件?

比如 有目录如下

aa-a-成品
       -照片-1.txt
              -2.jpg
bb-b-成品
       -照片-11.txt
              -22.jpg
         
要求是,只拷贝照片目录下的jpg文件
考到另一个目录里,也是按照现有的结构

结果就是另一个目录里
aa-a-照片 -2.jpg
bb-b-照片 -22.jpg
...
有好多像aa bb这样的目录,
作者: CrLf    时间: 2012-6-15 23:15

楼主能否发一部分 tree 显示的目录树作为参考?
作者: amer0798    时间: 2012-6-15 23:20

可能我表达的不好
就是
aa目录/a目录/成品目录
                   /照片目录/1.txt
                                 2.jpg
成品目录和照片目录同在 a 目录下
有好多这样类似的目录,但会有一个照片目录
作者: CrLf    时间: 2012-6-15 23:53

不是,楼主的例子中,“使用前”有两个文件夹都有jpg,“使用后”怎么只处理了一个?是都归到 aa 下还是?
作者: apang    时间: 2012-6-16 00:15

是不是这个意思:将所有jpg文件按目录结构拷贝到另一文件夹里?

但顶楼“结果另一个目录”怎么还有txt文档呢?
作者: amer0798    时间: 2012-6-16 09:18

谢谢各位朋友啦,我在顶楼写错啦,
aa-a-照片 -2.jpg
bb-b-照片 -22.jpg
结果是这样的,
有好多aa bb这样的目录,
成品里有好多jpg图片,但只处理照片目录里的

谢谢啦
作者: apang    时间: 2012-6-16 12:16

假设源目录为AAA(即:aa-a-照片、bb-b-照片目录都位于AAA目录下),目标目录为D:\ABC
将P程序保存在AAA下运行。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d /b /s *.jpg') do (
  3.   set "p=%%~dpa"
  4.   xcopy "%%a" "d:\abc\!p:%~dp0=!" /s /y
  5. )
  6. pause
复制代码

作者: amer0798    时间: 2012-6-16 13:12

本帖最后由 amer0798 于 2012-6-16 13:14 编辑

回复 7# apang

谢谢 你的帮忙,,
    怎么排除掉除了照片目录以外的目录呢,我只需要读取照片这个目录

    也就是说成品目录里也有照片的,现在只读取照片目录的
作者: apang    时间: 2012-6-16 13:29

回复 8# amer0798
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /a-d /b /s *.jpg^|find "\照片\"') do (
  3.   set "p=%%~dpa"
  4.   xcopy "%%a" "d:\abc\!p:%~dp0=!" /s /y
  5. )
  6. pause
复制代码

作者: amer0798    时间: 2012-6-16 16:15

谢谢,,,very的,,




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