Copiar subpastas e seu conteúdo em um nível?

1

Agora eu tenho a seguinte estrutura

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

Como posso copiar as subpastas e seu conteúdo nos meses para que elas fiquem todas em um diretório? Eu tentei usar o comando For / f mas não sei como especificar dois curingas no comando. Eu precisaria de um caractere curinga para o mês e também de um para o nome da subpasta, já que são todos diferentes.

Eu gostaria da seguinte saída:

New folder\
              folder 1\
              folder 2\
              folder 3\
              folder 23\
              folder 24\
              folder 25\
              folder 41\
              folder 42\
              folder 43\
    
por user9687306 23.05.2018 / 19:05

1 resposta

1

Você simplesmente precisa de dois loops for aninhados: -

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"\ )

Se você colocá-lo em um arquivo de lote, precisará duplicar os sinais % .

Usar cd é uma opção, mas você também pode usar caminhos de diretório completos, embora seja necessário analisar variáveis para definir o caminho de destino.

    
por 23.05.2018 / 20:42