日期:2014-05-17  浏览次数:20832 次

多个文件夹下相同文件名拷贝到同一文件夹里 求批处理命令实现
求大侠帮忙,同一目录下有多个文件夹(如:A、B、C、D、E),且每个文件夹里面都有一个文件“11.jpg”,现在想实现将多个文件夹(如:A、B、C、D、E)里面的“11.jpg”拷贝到一个新文件夹里面(如:F),如何能实现?能用批处理命令实现吗? 

------解决方案--------------------
设当前有 A、B、C、D 4个目录,A、B、C 3个目录下都有一个文件 1.txt,D 是空目录。
目标是复制 A、B、C 3个目录中的文件到 D 目录中,且复制后的文件名格式为:原目录名_1.txt。
执行批处理 mycopy D 则可完成目标,批处理如下:
@echo off
for /f "delims=" %%i in ('dir /ad/b') do (
if %%i neq %1 (
for /f "delims=" %%j in ('dir %%i /a-d/b') do (
copy %%i\%%j %1\%%i_%%j
)
)
)

经测试没有问题,希望是楼主所需要的答案。
------解决方案--------------------
@echo off
REM 设置需要拷贝到哪个文件夹(如:F)
set "folderTarget=F"
for /f "delims=" %%i in ('dir /ad /b') do (
    if "%%i" neq "%folderTarget%" (
        copy /y "%%i\11.jpg" "%folderTarget%\"
        ren "%folderTarget%\11.jpg" "%%i_11.jpg"
    )
)