Como recursivamente zipar arquivos utf-8 e pastas de um arquivo de lote?

0

Eu tenho uma pasta chamada "Attachments2". Eu estou trabalhando no windows 7 e estou usando zip.exe baixado do cygwin para zip esta pasta.

Nesta pasta existem pastas e arquivos que possuem caracteres hebraicos em seus nomes e conteúdo (no conteúdo dos arquivos).

Os nomes dos arquivos e pastas não são preservados como a origem, mas sim o conteúdo dos arquivos.

Por favor ajude.

Cumprimentos, Omer

omer bach
fonte
1
"Os arquivos e pastas 'nomes são preservados como a origem, mas o conteúdo dos arquivos é"? Edite por favor
Jan Doggen
Você quer dizer "... mas o conteúdo dos arquivos" não é "? Se sim, o que há de errado com isso?
martineau
Obrigado, eu quis dizer que os nomes e pastas de arquivos não são preservados como origem, mas o conteúdo é
omer bach

Respostas:

1

Você poderia usar a ferramenta de linha de comando gratuita 7z.exe de 7zip .

o histórico de versões de 7zip menciona explicitamente seu suporte a UTF-8:

- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes:
    1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols.
    2) -mcu switch:  7-Zip uses UTF-8, if there are non-ASCII symbols.
    3) -mcl switch:  7-Zip uses local code page.

Um comando zip recursivo com 7zip se parece com:

7z.exe a -mcl -tzip attachments.zip -r Attachments2\*.*

Nota: Formato próprio do 7zip .7z não suporta codepages. Você tem que usar o -tzip parâmetro para selecionar o .zip formato de arquivo.

Axel Kemper
fonte
Tentei e não funcionou (arquivos e nomes de pasta são gybrish) ... alguma idéia?
omer bach
Qual combinação de switches você já tentou? Por favor, poste a linha de comando completa.
Axel Kemper
7z.exe a -mcu -tzip attachments333.zip -r 2013-08-07_10-16-32 *. *
omer bach
é backslash e, em seguida, . no final, não sei porque não é mostrado
omer bach
Eu tentei o mesmo comando que você postou apenas com valores diferentes
omer bach