Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 将文件从多个文件夹复制到新文件夹-文件具有相同的名称_Batch File_Cmd_Command - Fatal编程技术网

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

Batch file 将文件从多个文件夹复制到新文件夹-文件具有相同的名称,batch-file,cmd,command,Batch File,Cmd,Command,问题是我有多个文件夹中的pdf.pdf文件,我需要将所有这些文件复制到同一个文件夹中,但仍在不断替换。解决方案是使用文件夹名称复制文件,例如。 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\

问题是我有多个文件夹中的pdf.pdf文件,我需要将所有这些文件复制到同一个文件夹中,但仍在不断替换。解决方案是使用文件夹名称复制文件,例如。 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

如果您能提供帮助,我将不胜感激,谢谢插入另一个用于提取找到的文件父目录名的文件

:: 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

LotPings!,你太棒了。。。非常适合我的需要,谢谢你的帮助。