Adicionando pastas a todas as subpastas, quando existirem espaços em branco

2

Eu tenho uma pasta principal, com muitas subpastas dentro, por exemplo

C:\Main Folder\Bob James
C:\Main Folder\John Smith

E para cada uma dessas pastas, quero adicionar a pasta "Membros da família"

Eu tentei usar

FOR /d %A IN ("C:\Main Folder\*") DO mkdir %A\"Family Members"

que não funcionou, não foi

FOR /d %A IN (C:\"Main Folder"\*) DO mkdir %A\"Family Members"

mas quando eu fiz

FOR /d %A IN (C:\Test\*) DO mkdir %A\"Family Members"

funciona, existe alguma maneira de fazer isso funcionar com os espaços em branco?

    
por Anon 07.07.2014 / 06:43

1 resposta

2

Você estava tão perto, apenas mova a citação um pouco: -)

FOR /d %A IN ("C:\Main Folder\*") DO mkdir "%A\Family Members"

O %A deve ser citado porque contém um espaço. Quando seu loop executa mkdir %A\"Family Members" e% A contém C:\Main Folder\Bob James , o comando se torna mkdir C:\Main Folder\Bob James\"Family Members" . Isso tenta criar 3 pastas, porque o bit principal não é citado:

C:\Main
Folder\Bob
James\"Family Members"
    
por 07.07.2014 / 08:06