Ir ao conteúdo

Criar bat para extrair arquivos com o mesmo nome


Ir à solução Resolvido por ricardo_br,

Posts recomendados

Postado

Senhores,  

 

Preciso extrair arquivos via CMD e a extração precisaria resultar no mesmo nome de pasta, ou seja, tenho um arquivo chamado C723991.zip dentro dele tem vários arquivos "Soltos" se eu extrair o arquivo usando o comando que tenho,

 

"C:\Util\7z (Ajuste de Pacotes)\7z.exe" x .\*.zip
pause

 

Ele trás todos os arquivos pra pasta onde estou e o que eu preciso é que o resultado da extração saia com o nome do arquivo, porém descompactado, algo como "C723991" nesse caso, que é o exemplo que dei acima 

 

image.png.01370ad55ab2e290159ab32fe939401c.png

  • Solução
Postado

@Matheus Pimenta 97 Algo assim:

 

for %%a in (*.zip) do "C:\Util\7z (Ajuste de Pacotes)\7z.exe" x "%%a" -o "%%~na\"

 

Uma dica é colocar o caminho para 7zip na variiável %path% ai você pode usar o 7zip de qualquer lugar digitando apenas 7z.exe sem colocar o caminho completo todas as vezes.....

  • Amei 2
Postado

@Matheus Pimenta 97 Dentro do prompt de comando você usa apenas 1 sinal de porcentagem. Como sua pergunta foi sobre como fazer isso em arquivo .bat eu mandei o comando para arquivo .bat

 

no prompt de comando:

for %a in (*.zip) do "C:\Util\7z (Ajuste de Pacotes)\7z.exe" x "%a" -o "%~na\"

 

Dentro de um arquivo .bat:

 

for %%a in (*.zip) do "C:\Util\7z (Ajuste de Pacotes)\7z.exe" x "%%a" -o "%%~na\"

 

Postado

@ricardo_br,

 

Essa informação eu já tinha, na verdade o ajuste que precisava ser feito era na sintaxe, busquei a correção em um outro fórum e o ajuste é: 

 

for %a in (*.zip) do "C:\Util\7z (Ajuste de Pacotes)\7z.exe" x "%a" -o"%~na\"

 

Havia um espaço entre -o e o caminho_destino. 

 

Mas funcionou perfeitamente! Obrigado pelo pronto apoio! 

  • Curtir 1
  • 1 ano depois...
Postado

@ricardo_br

 

Estou utilizando esse script que você enviou:

 

@echo off

REM Especifique aqui a pasta onde está instalado o Winrar:    "%%~dpa"
set Winrar=C:\Program Files\WinRAR\WinRAR.exe

REM Especifique aqui onde está a pasta onde você quer compactar ou descompactar os arquivos:
set pasta=C:\Users\augus\Desktop\Teste\

:Pergunta
cls
echo.
set /p "Pergunta=Deseja (c)ompactar ou (d)escompactar arquivos? "
if /i "%Pergunta%"=="c" goto :Compactar
if /i "%Pergunta%"=="d" (goto :Descompactar) else (goto :Pergunta)

:Compactar
for /r "%pasta%" %%a in (*) do "%Winrar%" a -dr -m3 -ep1 "%%a.rar" "%%a"
exit

:Descompactar
for /r "%pasta%" %%a in (*.zip) do (
"%Winrar%" x "%%a" -o "%%~na\"
)

 

porém eu tenho vários arquivos zip onde os arquivos que serão extraídos tem o mesmo nome, como faço para utilizar aquela opção do winrar "Renomear Tudo" nesse script? Não estou conseguindo dessa forma acima está substiuindo os arquivos quando utilizo "%%~dpa" e criando pastas com -o "%%~na\". Poderia me ajudar? Desde já agradeço.

Captura de tela 2023-11-17 172209.png

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...