现在我有以下结构
Folder 1\
-Apr2007\folder 1
\folder 2
\folder 3
-May 2007\folder 23
\folder 24
\folder 25
-June 2007
\folder 41
\folder 42
\folder 43
-etc all the way to 2018
我如何复制月份下的子文件夹及其内容,以便它们都位于一个目录中?我尝试使用 For /f 命令,但我不知道如何在命令中指定 2 个通配符。我需要一个月份通配符和一个子文件夹名称通配符,因为它们都不同。
我想要以下输出:
New folder\
folder 1\
folder 2\
folder 3\
folder 23\
folder 24\
folder 25\
folder 41\
folder 42\
folder 43\
答案1
你只需要两个嵌套for
循环:-
for /d %d in ("\Full\Path\To\Folder 1"\*) do ( cd "%d" & for /d %s in (*) do xcopy /s "%s"\* "\Full\Path\To\New folder\%s"\ )
如果将其放入批处理文件中,则需要将%
符号加倍。
使用cd
是一种选择,但您也可以使用完整的目录路径,尽管它需要变量解析来定义目标路径。