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"
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
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
).
Tags command-line windows