Adicionando pastas a cada subpasta, quando existem espaços em branco

Adicionando pastas a cada subpasta, quando existem espaços em branco

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"

o que não funcionou, não funcionou

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, há alguma maneira de fazer isso funcionar com os espaços em branco?

Responder1

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

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

O %Adeve ser citado porque contém um espaço. Quando seu loop é executado 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 inicial não está entre aspas:

C:\Main
Folder\Bob
James\"Family Members"

informação relacionada