Board logo

标题: [文件操作] [已解决]批处理把多个子文件夹的指定扩展名的图片复制汇总到同一个文件夹 [打印本页]

作者: kid_en    时间: 2017-3-1 10:38     标题: [已解决]批处理把多个子文件夹的指定扩展名的图片复制汇总到同一个文件夹

各位大神们,我写了一个代码,可是不对。所以想请教以前用过此种方式汇总文件的各位~
  1. for /f "delims=." %%i in ('dir /a /s /b *.jpg') do (xcopy %%i>汇总图片\%%i
  2.                                                     )
  3. pause
复制代码

作者: taofan712    时间: 2017-3-1 11:37

本帖最后由 taofan712 于 2017-3-1 16:52 编辑
  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /b^|find /v "汇总图片"') do (
  3.     pushd "%%~fa"
  4.     for /f "delims=" %%b in ('dir /a-d /b /s *.jpg 2^>nul') do copy /y "%%~b" ..\汇总图片
  5.     popd
  6. )
  7. pause
复制代码

作者: kid_en    时间: 2017-3-1 16:33

回复 2# taofan712


    是指定的GPG格式图片哦,不是所有的文件都复制到【汇总图片】里面。。
作者: kid_en    时间: 2017-3-1 16:48

微改了一下,可以用的
  1. @echo off
  2. for /f "delims=" %%a in ('dir /ad /b^|find /v "汇总图片"') do (
  3.     pushd "%%~fa"
  4.     for /f "delims=" %%b in ('dir /a-d /b /s *.jpg') do copy "%%~b" ..\汇总图片
  5.     popd
  6. )
  7. pause
复制代码

作者: taofan712    时间: 2017-3-1 16:52

回复 3# kid_en


    是我疏忽了,已在二楼改正。
作者: Nsqs    时间: 2017-3-2 11:29

本帖最后由 Nsqs 于 2017-3-2 11:30 编辑
  1. @echo off
  2. for /f "delims=" %%1 in ('dir /ad /b')do (
  3. if not "%%1"=="汇总图片" (
  4. copy /y "%%1\*.jpg" "汇总图片\*.jpg"
  5. )
  6. )
复制代码





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