
Pesquisei este título e foi dada a resposta do seguinte arquivo CMD:
FOR /D /r %%F in ("*") DO (
pushd %CD%
cd %%F
FOR %%X in (*.rar *.zip) DO (
"C:\Program Files\7-zip\7z.exe" x %%X
)
popd
)
O arquivo cmd funciona muito bem até certo ponto. Exceto que fornece a seguinte mensagem para cada arquivo encontrado com extensão "ZIP" e pergunta:
Would you like to replace the existing file:
Path xxxxxx
Size xxxx
Modified: XXXXXXX
with the file from the archive:
Path: xxxx
Size: xxxxx
? Y<es> \ N<o> \ A<lways> \ S<kip all> \A<u>to rename all \ <Q>uit
Ele para aí esperando por uma entrada. Mas ele pergunta cada vez que um arquivo é descompactado. Eu iria modificar o arquivo de comando acima com algo que verifica se ?
foi encontrado e depois chama um arquivo cmd de resposta que gera um "Y" e sai, o que me levaria de volta ao arquivo de comando original para processar o próximo arquivo com o "zip" que encontrou.
Não sei se estou no caminho certo, mas gostaria de receber ajuda. Não sei qual programa está gerando o ?
texto e. É o Windows 7 ou o 7-zip que está perguntando?
Responder1
Não sei qual programa está gerando o "?" e texto
Isso é 7z.exe
.
A opção correta a ser usada é -aoa
(Substituir todos os arquivos existentes sem aviso).
Exemplo:
"C:\Program Files\7-zip\7z.exe" x %%X -aoa
-ao (modo de substituição) switch
Especifica o modo de substituição durante a extração, para substituir arquivos já presentes no disco.
Syntax -ao[a | s | t | u ] Switch Description -aoa Overwrite All existing files without prompt. -aos Skip extracting of existing files. -aou aUto rename extracting file (for example, name.txt will be renamed to name_1.txt). -aot auto rename existing file (for example, name.txt will be renamed to name_1.txt).
Responder2
É o 7-zip que produz o prompt. Parece que o-y
trocarfor 7z.exe
faz o que você quer:
Todas as consultas de substituição serão suprimidas e os arquivos no disco com os mesmos nomes de arquivo serão substituídos.
O exemplo da documentação indica que você deve colocar -y
após o caminho fornecido para 7z.exe
.