将文件从多个文件夹复制到新文件夹-文件具有相同的名称

时间:2018-07-27 14:57:54

标签: batch-file cmd command

问题是我在多个文件夹中有pdf.pdf文件,我需要将所有这些文件复制到同一文件夹中,但仍在替换。解决的办法是复制文件夹名称为E.g.的文件。 foldername1.pdf foldername2.pdf

但我不知道该怎么做

我使用的脚本是这个

for /r "BOOK\" %%i in (*.pdf) do copy "%%i" "BOOK\"

我的文件结构是这样

C:\BOOK\FOLDERNAME1\PDF.PDF
C:\BOOK\FOLDERNAME2\PDF.PDF
C:\BOOK\FOLDERNAME3\PDF.PDF
C:\BOOK\FOLDERNAME4\PDF.PDF
C:\BOOK\FOLDERNAME5\PDF.PDF

感谢您的帮助,

1 个答案:

答案 0 :(得分:1)

插入另一个以提取找到的文件的父目录名称。

:: Q:\Test\2018\07\27\SO_51560631.cmd
@Echo off
Set "Base=C:\BOOK\"
For /r "%Base%" %%A in (*.pdf
  ) Do For %%B in ("%%~fA\.."
    ) Do Copy "%%~fA" "%Base%%%~nxB%%~xA"  

运行批处理后的样本树:

> tree /F
└───BOOK
    │   FOLDERNAME1.PDF
    │   FOLDERNAME2.PDF
    │   FOLDERNAME3.PDF
    │   FOLDERNAME4.PDF
    │   FOLDERNAME5.PDF
    │
    ├───FOLDERNAME1
    │       PDF.PDF
    │
    ├───FOLDERNAME2
    │       PDF.PDF
    │
    ├───FOLDERNAME3
    │       PDF.PDF
    │
    ├───FOLDERNAME4
    │       PDF.PDF
    │
    └───FOLDERNAME5
            PDF.PDF