Eu sei que é possível compactar arquivos na linha de comando com LZX:
COMPACT /C /S:E:\Backup /EXE:LZX
Mas eu gostaria de fazer isso ANTES de os arquivos serem gravados no disco.
Se eu ativar a compactação na pasta raiz via Explorer, os arquivos serão gravados com um método de compactação fraco, enquanto eu gostaria de usar o LZX.
Responder1
Você não pode
Não funciona da mesma maneira, não é hereditário, você não pode compactar pastas (elas próprias), não pode modificar (ou adicionar) informações a um arquivo LZX enquanto mantém a compactação, se você fizer isso, o arquivo é descompactado inteiramente, como um novo arquivo, e você precisa compactá-lo novamente.
A ajuda compacta oferece:
"Os diretórios serão marcados para que os arquivos adicionados posteriormente sejam compactados, a menos que seja /EXE"
Adicionar um byte descompacta o arquivo:
ecoar a >> test.txt
Os arquivos LZX são como "arquivos zip" (mais parecidos com GZ) tornados transparentes para o sistema operacional, mas não são iguais aos arquivos compactados comuns no antigo modo NTFS.
A solução que proponho é usar uma tarefa agendada para executar o comando compact enquanto o computador está ocioso (ou executar após o backup), e também recomendo compactar apenas com LZX: arquivos dll e exe em programas em funcionamento, (se não forem backups como seu exemplo), para evitar possíveis lentidão e problemas (não comprima os arquivos de inicialização no diretório raiz).
Se seus arquivos já estiverem compactados com o método antigo, você precisará adicionar /F para forçar a recompactação na primeira vez e remover a compactação da própria pasta para evitar que o "método fraco" seja usado, ou faça um programa mais complexo para localizar e recompactar arquivos compactados fracos.
Lembre-se também de que o LZX não é compatível com versões anteriores do Windows.