Como posso compactar um arquivo grande em um disco já cheio?

1

Eu tenho um disco cheio contendo um arquivo grande que eu quero compactar para liberar espaço. A maioria dos programas de compactação exige que eu tenha espaço livre suficiente no disco para armazenar o arquivo compactado ao lado do arquivo original. Embora o gzip apague o arquivo original após a conclusão, ele não faz isso até que o arquivo compactado tenha sido gravado. Como posso realizar a compactação no local, truncando o arquivo original ao longo do caminho?

Eu não quero fazer um disco RAM para armazenar temporariamente todo o arquivo compactado, porque isso é um monte de etapas extras e porque o arquivo compactado pode ser maior do que a minha memória disponível.

    
por Sparr 29.03.2016 / 00:15

4 respostas

2

Em suma. NÃO. Compactar um arquivo requer um certo nível de pensamento "sem falhas". Se o processo de compactação falhar, ele precisa ser capaz de falhar de maneira que você não perca seu arquivo. O que aconteceria se a compactação falhasse no meio do arquivo? Existem muitas ferramentas de compressão disponíveis que podem usar uma pasta temporária (que é definível) que pode ser usada para criar o arquivo de trabalho compactado ... até que o processo seja concluído ... em seguida, exclua o original e finalmente coloque o arquivo compactado o alvo correto.

Você nunca encontrará uma ferramenta de compactação de arquivos que reescreva o arquivo durante a compactação.

    
por 29.03.2016 / 00:20
1

No MS File Explore, clique com o botão direito na letra do driver, selecione propriedades, marque 'Compactar esta unidade para economizar espaço em disco', clique em 'Ok'.

Com sorte, haverá espaço suficiente para permitir que o Windows comece a economizar mais espaço e, eventualmente, até compactar o arquivo que você deseja compactar no disco.

Por favor, note que pode haver um ligeiro impacto no desempenho de todos os acessos a esta unidade.

    
por 29.03.2016 / 00:47
0

Eu usei muitos compressores e não me lembro prontamente de ver essa funcionalidade como uma opção disponível nos compressores disponíveis.

Em teoria, algo assim poderia ser feito. Usando o comando dd (que pode ser baixado para o Microsoft Windows, e empacotado com muitas variedades Unix) você pode extrair uma seção específica do arquivo, que pode então ser compactado. Em seguida, o arquivo original precisaria ser redimensionado. Truncar a partir do final do arquivo pode ser mais fácil do que truncar a partir do início do arquivo. (Se isso é verdade pode depender de como o código do software está sendo implementado.) Se isso for verdade, a compactação de pedaços em ordem reversa pode ser significativamente mais rápida.

Na prática, geralmente acho melhor procurar maneiras de liberar espaço suficiente para ter as duas versões (compactada e não compactada) de uma só vez. (Ficha rápida: tornei-me fã de relatórios de utilização de discos: WinDirStat 's instalador , ou KDirStat para algo similar no Unix sem o Wine.) Então, eu normalmente gosto de ter espaço também para outra cópia não compactada, para que eu possa descomprimir o que tenho e comparar isso com o original. Isso pode ser bastante desafiador e pode envolver várias partições / discos. Pode ser um desafio desafiá-lo, mas, se o fizer, posso excluir as duas grandes cópias, quando estou me sentindo um pouco menos abarrotado.

    
por 31.03.2016 / 01:25
-2

Você pode contornar o problema se você tiver um pen drive ou disco rígido externo, você deve estar pronto para ir. A maioria dos programas de compactação usa como padrão a pasta temporária dos usuários ou a pasta temporária do sistema. No seu caso, isso seria o disco inteiro. No entanto, todo programa de compactação moderno deve permitir que você altere o diretório de trabalho do programa.

Tome 7-zip, um dos programas de compressão mais populares, como um exemplo. Em Ferramentas \ Opções \ Pastas, você pode definir o diretório de trabalho para outra pasta ou unidade. Então, se você tem um pen drive de tamanho decente ou um disco rígido externo, você pode definir isso como o diretório de trabalho e salvar o arquivo lá.

    
por 29.03.2016 / 00:50