将子目录的所有内容复制到父目录中的批处理脚本?

Batch script that copies all contents of subdirectories into a parent directory?

假设我有一个批处理文件,script.bat。此批处理文件放置在父文件夹中。

> Parent folder
    script.bat
    > subdirectory1
        file1.1
        file1.2
        file1.3
    > subdirectory2
        file2.1
        file2.2
        file2.3

如何编写批处理文件,以便当我双击它时,它将所有文件从(子目录内)复制到(批处理文件所在的文件夹)?

您要查找的代码是

for /d %%I in (*) do copy "%%~I\*" .

for* 匹配的每个目录(由于 /d 开关)上执行 do 之后的命令。 copy份。 %%~I 是一个变量,其值是 for 循环进行到的任何目录名称。 %%~I 中的波浪号会去除周围的引号(如果有)。最后的 . 是当前工作目录(包含批处理脚本的目录)的 shorthand。有关详细信息,请参阅 cmd 控制台中的 for /?