Ir ao conteúdo
  • Cadastre-se

Outro Comando p/ criar automaticamente 1 pasta p/ cada arquivo


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Tenho mais de 400 arquivos .jpg distribuídos em suas subpastas. Cada arquivo tem um nome diferente dos demais. Alguém sabe me dizer qual comando eu digito no MS-DOS para que o Win10 crie uma pasta exclusiva no mesmo local com o nome de cada um desses arquivos e em seguida coloque cada arquivo na pasta nova criada com o seu nome?

Muitíssimo obrigado!!!

Link para o comentário
Compartilhar em outros sites

Você vai precisar construir esse comando. Teria de montar um laço FOR para percorrer cada diretório e trabalhar os arquivos ali encontrados (criar diretório e mover os arquivos). Dicas de comandos:

 

  • FOR
  • DIR
  • MKDIR
  • MOVE
  • PUSHD
  • POPD

 

Um ponto de partida para você:

 

FOR /F "delims=" %i IN ('DIR /AD /S /B') DO @( ECHO %i )

 

 

LNW

Link para o comentário
Compartilhar em outros sites

3 horas atrás, ricardo_br disse:

Acredito que seja possível fazer isso com um arquivo .bat ou powershell. Mais por curiosidade qual o objetivo disso?

Estou criando centenas de icones p/ o Win do zero... Como não entendo de programação, cada passo é muito trabalhoso. De todo jeito, já consegui todas as imagens e elas estão em agrupamentos variados em suas subpastas. Agora eu preciso de uma linha de comando para criar uma pasta exclusiva com o nome de cada imagem para que ela seja colocada sozinha em sua pasta. Depois vai ser a hora de eu duplicar tudo redimensionando nos tamanhos diferentes. Depois vou juntar todas imagens iguais e tamanhos diferentes em uma mesma página (por isso precisa haver uma pasta p/ cada imagem). E depois vou usar ImageMagic para converter os tamanhos diferentes em um único arquivo .ico

Sei que é possível fazer com arquivo .bat e se você souber, peço uma força p fv

Link para o comentário
Compartilhar em outros sites

  • Solução

Veja se é algo assim. Você copia o código abaixo, cola no notepad, salva com nome de CriarPastas.bat. Ai você arrasta a pasta onde estão as fotos para o batch (Por via das dúvidas faça isso primeiro em uma cópia e não nos arquivos originais):

 

@echo off
chcp 1252 > nul
Title Criar Pastas para cada arquivo

:: Bat para criar uma pasta para cada aruqivo existente em uma pasta
Set "Tipo=*.*"

IF /i exist "%~1" (set "Pasta=%~1") else (set /p "Pasta=Por favor informe o caminho\nome da pasta: ")

set "Pasta=%Pasta:"=%"
for /f "Delims=" %%a in ('echo "%Pasta%"') do set "Pasta=%%~a"
IF /i not exist "%Pasta%" exit

pushd "%pasta%"
for /f "delims=" %%a in ('dir /b /a-d /s "%Tipo%"') do (
IF /i not Exist "%%~na" md "%%~dpna"
move "%%a" "%%~dpna" > nul
)
popd
exit

 

CriarPastaCadaArquivo.gif

 

Acredito que o processo de criar os icones também pode ser automatizado usando um batch em conjunto com o programa imageMagic ou ffmpeg.....

Link para o comentário
Compartilhar em outros sites

3 horas atrás, ricardo_br disse:

Veja se é algo assim. Você copia o código abaixo, cola no notepad, salva com nome de CriarPastas.bat. Ai você arrasta a pasta onde estão as fotos para o batch (Por via das dúvidas faça isso primeiro em uma cópia e não nos arquivos originais):

 


@echo off
chcp 1252 > nul
Title Criar Pastas para cada arquivo

:: Bat para criar uma pasta para cada aruqivo existente em uma pasta
Set "Tipo=*.*"

IF /i exist "%~1" (set "Pasta=%~1") else (set /p "Pasta=Por favor informe o caminho\nome da pasta: ")

set "Pasta=%Pasta:"=%"
for /f "Delims=" %%a in ('echo "%Pasta%"') do set "Pasta=%%~a"
IF /i not exist "%Pasta%" exit

pushd "%pasta%"
for /f "delims=" %%a in ('dir /b /a-d /s "%Tipo%"') do (
IF /i not Exist "%%~na" md "%%~dpna"
move "%%a" "%%~dpna" > nul
)
popd
exit

 

CriarPastaCadaArquivo.gif

 

Acredito que o processo de criar os icones também pode ser automatizado usando um batch em conjunto com o programa imageMagic ou ffmpeg.....

De ontem a até hoje eu fiquei horas e horas tentando criar gambiarras... procedimentos muito pequenos em que o resultado gerou outra demanda e até quebrou um galho... mas no final passou muito longe da maravilha que foi essa sua solução. Fico impressionado com a inteligência de vocês aqui! Em especial agradecido a você, ricardo_br!!!!!!!!

Link para o comentário
Compartilhar em outros sites

@ricardo_br 
Existe aqueles sites que convertem uma imagem por vez (exemplo https://www.icoconverter.com/), mas como tenho muitas imagens p/ converter, eu preciso fazer por lote. Então online não atende.

Tentei usar só o programa XnConvert, mas ele criava um arquivo .ico que continha a imagem em apenas uma dimensão. O resultado não era bom porque não se adaptava às demandas de tamanhos diferentes do Windows.

Aí eu estou tentando  fazer por comandos mesmo (puxa como é difícil programação 😬). O comando junta a mesma imagem em tamanhos diferentes em um só arquivo .ico e assim o arquivo final comporta corretamente nas diversas situação do Windows. O comando é:

 magick 16.png 32.png 48.png 64.png 128.png 256.png -colors 256 icon.ico

Antes eu uso o XnConvert para converter a imagem original nessas dimensões diferentes, cada uma com o nome respectivo (16.png, 32.png, 48.png, 64.png, etc). Salvo todas numa mesma pasta. É por isso que preciso que cada imagem tenha uma pasta exclusiva c/ o nome original de cada .png.

Aí então, eu coloco junto de cada pasta exclusiva um .bat (nomeei de "criando_ico.bat") com esse código que citei acima para juntar os .png em um único arquivo .ico. Só que demanda duas questões:

Questão A ): Imagino que exista um código p/ colocar uma cópia do "criando_ico.bat" em todas as pastas exclusivas automaticamente. Fuçando na internet, o máximo que consegui foi o seguinte código que só consegue copiar o "criando_ico.bat" p/ a 1ª subpasta da sequência:

@echo off
for /D %%a in (*.*) do xcopy /y /d criando_ico.bat "%%a\"

Como são quase 500 ícones, são quase 500 pastas p/ eu abrir e poder clicar no "criando_ico.bat" p/ executá-lo. Então vem a Questão B ): meu passo a seguir será descobrir um comando p/ um .bat a ser salvo na raiz p/ ele buscar e startar dentro de todas as subpastas cada um dos "criando_ico.bat".

No final de tudo, uso o programa ReName que captura o nome da pasta exclusiva e o utiliza para renomear o arquivo icon.ico com o nome da imagem .png original.

Sei que tudo isso deve parecer muito burro pros programadores 😅, rs... mas é o melhor que estou conseguindo com muito esforço aqui. Admiro muito quem sabe programação e por isso sou muito agradecido a vcs.

Link para o comentário
Compartilhar em outros sites

Tente esse batch para criar os icones automaticamente, ele dispensa os arquivos intermediários (16.png, 32.png, 48.png, 64.png, etc) e já cria o icone com todas as dimenções em um arquivo ico com o mesmo nome do arquivo original (grande)...

 

O batch precisa que o ImageMagic esteja instalado e que você tenha marcado essas 2 opções durante a instalação: 

 

opcoesImagemagic.png

 

@echo off
chcp 1252 > nul
Title Criar Pastas para cada arquivo

:: Bat para criar uma pasta para cada aruqivo existente em uma pasta
Set "Tipo=*.*"

IF /i exist "%~1" (set "Pasta=%~1") else (set /p "Pasta=Por favor informe o caminho\nome da pasta: ")

set "Pasta=%Pasta:"=%"
for /f "Delims=" %%a in ('echo "%Pasta%"') do set "Pasta=%%~a"
IF /i not exist "%Pasta%" exit

pushd "%pasta%"
for /f "delims=" %%a in ('dir /b /a-d /s "%Tipo%"') do (
IF /i not Exist "%%~dpna.ico" (
                               cls
                               echo.
                               echo  Criando icones: %%~nxa -^> %%~na.ico
                               convert -background transparent "%%a" -define icon:auto-resize=16,32,48,64,128,256 "%%~dpna.ico"
                              )

)
popd
exit

 

Se quiser salvar icones com dimenções diferentes é só mudar essa linha no bat:

 

 convert -background transparent "%%a" -define icon:auto-resize=16,32,48,64,128,256 "%%~dpna.ico"

 

Link para o comentário
Compartilhar em outros sites

1 hora atrás, ricardo_br disse:

Tente esse batch para criar os icones automaticamente, ele dispensa os arquivos intermediários (16.png, 32.png, 48.png, 64.png, etc) e já cria o icone com todas as dimenções em um arquivo ico com o mesmo nome do arquivo original (grande)...

 

O batch precisa que o ImageMagic esteja instalado e que você tenha marcado essas 2 opções durante a instalação: 

 

opcoesImagemagic.png

 


@echo off
chcp 1252 > nul
Title Criar Pastas para cada arquivo

:: Bat para criar uma pasta para cada aruqivo existente em uma pasta
Set "Tipo=*.*"

IF /i exist "%~1" (set "Pasta=%~1") else (set /p "Pasta=Por favor informe o caminho\nome da pasta: ")

set "Pasta=%Pasta:"=%"
for /f "Delims=" %%a in ('echo "%Pasta%"') do set "Pasta=%%~a"
IF /i not exist "%Pasta%" exit

pushd "%pasta%"
for /f "delims=" %%a in ('dir /b /a-d /s "%Tipo%"') do (
IF /i not Exist "%%~dpna.ico" (
                               cls
                               echo.
                               echo  Criando icones: %%~nxa -^> %%~na.ico
                               convert -background transparent "%%a" -define icon:auto-resize=16,32,48,64,128,256 "%%~dpna.ico"
                              )

)
popd
exit

 

Se quiser salvar icones com dimenções diferentes é só mudar essa linha no bat:

 


 convert -background transparent "%%a" -define icon:auto-resize=16,32,48,64,128,256 "%%~dpna.ico"

 

Funcionou perfeitamente, parabéns pelo dom q você tem! Vim procurando ajuda c/ alguns passos e você me trouxe a solução de todo percurso. Dias de dor de cabeça resolvidos como mágica. Que felicidade. Muito muito obrigado!!

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!