将子目录的所有内容复制到父目录中的批处理脚本?
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 /?
。
假设我有一个批处理文件,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 /?
。