Adicionando subpastas a uma pasta com nome de diretório curinga

0

Gostaria de adicionar subpastas com o mesmo nome a várias pastas que atualmente têm a seguinte estrutura:

V:/fixed name/ABC/fixed Name/

onde o "ABC" é uma combinação de três letras em mudança.

Eu encontrei o seguinte código, mas ele não aceita meu caracter curinga "*" para o "ABC".

FOR /d %A IN (V:/fixed name/ABC/fixed Name/) DO mkdir "%Ac"

Qualquer ajuda seria apreciada.

Felicidades, nickma

    
por Nickma 23.10.2017 / 14:17

2 respostas

1

Na linha de comando:

FOR /D %A IN ("V:\fixed name\*") DO mkdir "%A\fixed namec"

Em um arquivo em lotes:

FOR /D %%A IN ("V:\fixed name\*") DO mkdir "%%A\fixed namec"
    
por 23.10.2017 / 15:01
1

Isso funcionará, mas somente UM '*' é permitido:

@echo off
setlocal
set pre=
set post=
set pattern=%~1
for /f "tokens=1,2 delims=*" %%p in ("%pattern%") do (
   set pre=%%p
   set post=%%q
)
pushd 
@echo off
setlocal
set pre=
set post=
set pattern=%~1
for /f "tokens=1,2 delims=*" %%p in ("%pattern%") do (
   set pre=%%p
   set post=%%q
)
pushd %pre%
for /f %%d in ('dir /b /ad') do @md %%d%post% && echo added: %%d%post%
popd  
for /f %%d in ('dir /b /ad') do @md %%d%post% && echo added: %%d%post% popd

O caminho antes do curinga deve existir. Aqui, procuramos todas as pastas (= curinga) e acrescentamos o caminho que segue o argumento curinga. Esta também pode ser uma árvore de pastas ( mkwild C:\users\me\test\*\first\second ).

    
por 23.10.2017 / 15:15