将子文件夹及其内容复制到上一级?

将子文件夹及其内容复制到上一级?

现在我有以下结构

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是一种选择,但您也可以使用完整的目录路径,尽管它需要变量解析来定义目标路径。

相关内容