Ir ao conteúdo
  • Cadastre-se

Criar bat para extrair arquivos com o mesmo nome


Ir à solução Resolvido por ricardo_br,

Posts recomendados

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

Link para o comentário
Compartilhar em outros sites

  • Solução

@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
Link para o comentário
Compartilhar em outros sites

@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\"

 

Link para o comentário
Compartilhar em outros sites

@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
Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

@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

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!