Até não muito tempo atrás, eu nem sabia que você poderia compactar pastas específicas, arquivos ou até mesmo unidades inteiras usando a compactação interna do Windows. Uma maneira simples de fazer isso é ir às propriedades e marcar "compactar conteúdo para economizar espaço em disco" e está tudo pronto.
Em primeiro lugar, pensei que era como compactar arquivos do WinZip para reduzir o tamanho ou combinar todos os arquivos em um arquivo compactado. Mas parece que tem um caso de uso diferente desse.
E o mais interessante é que o arquivo está compactado, mas a saída de hash do arquivo permaneceu a mesma (experiência curta usando uma calculadora de hash de terceiros). Como isso pode ser real? Se a entrada mudar, a saída do hash deve mudar (exceto em caso de colisão, que é bastante rara e está fora do tópico). Por exemplo, digamos que eu comprimi um arquivo chamado MYDOCUMENT.pdf , e posso mantê-lo assim, colocando-o em drives USB ou outro PC recém-instalado e apenas usá-lo como um arquivo normal, sem descompactá-lo manualmente e tal ?
Quando verifiquei o tamanho do arquivo nas propriedades, o tamanho não mudou nem um byte, mas apenas o "tamanho no disco" mudou de forma decrescente. Portanto, parece que os dados do arquivo permanecem intactos como estão (o mesmo valor de hash provavelmente prova isso), mas apenas compacta e descompacta ao lê-lo do lado do sistema operacional.
Outra pergunta seria: Há outro algoritmo de compactação usando o prompt de linha de comando, digitando "compact.exe /compactos:always". Qual a diferença entre os dois?
O Windows está me dando dor de cabeça esses dias :/