Compactar (com senha) múltiplos arquivos (Resolvido!)

Iniciado por Samuel Ubuntu do Sur, 18 de Março de 2013, 12:05

tópico anterior - próximo tópico

Samuel Ubuntu do Sur

Pessoal, bom dia!

Tenho 182 arquivos (pastas) dentro de uma única pasta. Quero compactar cada um dos 182 arquivos (pastas) para os seus correspondentes arquivos .zip, todos com a mesma senha. Ou seja, o "arquivo 1" para "arquivo 1.zip", o arquivo 2 para "arquivo 2.zip" e assim sucessivamente, todos com a mesma senha.

Como fazer? Pelo modo gráfico já vi que não tem opções para isso. Minha intuição diz que, se houver um jeito, será por linha de comando.

Abraços!

sigur

Primeiro: faça backup dos 182 arquivos.

Depois: acesse a pasta contendo-os, pelo terminal, usando o comando cd

daí, faça

for file in ls do; zip -e -P PASSWORD $file; done

trocando o PASSWORD pelo pass que você quer.

Veja se funciona. Não sei se isso irá deletar os files originais, portanto, faça backup.

Samuel Ubuntu do Sur

Olá Sigur, obrigado pela ajuda! Contudo, tem alguma coisa no comando que não tá dando certo:

ss4@SDesk:/media/SXT4/S/Temp/Teste$ for file in ls do; zip -e -P PASSWORD $file; done
bash: erro de sintaxe próximo do `token' não esperado `zip'
ss4@SDesk:/media/SXT4/S/Temp/Teste$



Tota


irtigor

O ';' tá no lugar errado.


for file in *; do zip -e -P PASSWORD "$file"; done

irtigor

O comando de compactação também precisa ser alterado:


for file in *; do zip -e -P PASSWORD -r "$file" "$file"; done

Samuel Ubuntu do Sur

Olá Irtigor! Bom Dia!

BLZ! Para compactação de múltiplas pastas deu certinho, show de bola (fiz e testei as senhas, tudo ok).

Agora, quando tento compactar múltipos arquivos (e não pastas) dá um erro e mesmo utilizando a opção "-F" sugerida, não dá certo:

ss4@SDesk:/media/SXT4/S/Temp/Teste/Teste 1$ for file in *; do zip -e -P PASSWORD -r "$file" "$file"; done
   zip warning: missing end signature--probably not a zip file (did you
   zip warning: remember to use binary mode when you transferred it?)
   zip warning: (if you are trying to read a damaged archive try -F)

zip error: Zip file structure invalid (DSC02686.JPG)
   zip warning: missing end signature--probably not a zip file (did you
   zip warning: remember to use binary mode when you transferred it?)
   zip warning: (if you are trying to read a damaged archive try -F)

ss4@SDesk:/media/SXT4/S/Temp/Teste/Teste 1$ for file in *; do zip -e -F -P PASSWORD -r "$file" "$file"; done
   zip warning: fix options -F and -FF require --out:
                     zip -F indamagedarchive --out outfixedarchive

zip error: Invalid command arguments (fix options require --out)
   zip warning: fix options -F and -FF require --out:
                     zip -F indamagedarchive --out outfixedarchive

Sugestão: deve existir algo parecido na Net (por exemplo, aqui mesmo no fórum em achei este site: http://www.uniriotec.br/~morganna/guia/introd_guia.html ). Contudo, seria interessante criar no fórum um tópico indexado com essas dicas de linha de comando pois facilitam muito nosso dia-a-dia (nem que seja para abrir e fechar gaveta do cd sem por as mãos - o pessoal aqui em casa acha que faço mágica kkk)

Abraços a todos!

irtigor

Cada arquivo um zip?

for file in *; do zip -e -P PASSWORD -r "${file%.*}" "$file"; done

Se não, é só fazer sem o laço, do jeito normal.

Samuel Ubuntu do Sur


Show, show de bola! É por essas e outras que todos (rss) amam Linux! Maravilha, tudo certo agora e já vai pro carderninho de dicas! Tópico Resolvido!

Muito obrigado Irtigor pela presteza e boa vontade! Valeu mesmo!