lote identificar arquivos preenchidos com zeros

0

Eu tenho algumas pastas que contêm arquivos (arquivos P2P temporários antigos salvos incorretamente, aparentemente) que são preenchidos apenas com zeros - qualquer programa / lote que possa verificar isso? Não quero abrir cada um com um editor hexadecimal

Mr_and_Mrs_D
fonte
Que tipo de arquivos?
Sathyajith Bhat
023.part - monte de zeros - existem muitos para verificar todas elas individualmente
Mr_and_Mrs_D
Qual o tamanho dos arquivos?
kate
Qualquer coisa de alguns megas para alguns shows
Mr_and_Mrs_D
1
(Ops, continuação de cima.) Por exemplo, usando o algoritmo CRC-16 padrão, um arquivo contendo o byte hexadecimal 01 terá um CRC little endian de C0C1; anexar os bytes hexadecimais C1 C0 ao arquivo fará com que ele tenha um CRC zero.
kate

Respostas:

1

Embora corra o risco de falsos positivos (como a maioria das soluções baseadas em CRC), se o PowerShell e um ambiente de tempo de execução Java estiverem instalados, é possível fazer aproximadamente o que você está pedindo depois de baixar e extrair o Jacksum .

Adapte o seguinte comando (a $jacksum_root_directoryvariável não deve ter barra), abra o PowerShell e execute-o para obter uma lista de arquivos com uma soma de verificação zero:

$jacksum_root_directory = 'drive:\path\to\directory'
$jacksum_jar_location = 'drive:\path\to\jacksum.jar'
java -jar $jacksum_jar_location -E dec -F "#CHECKSUM #FILENAME" -a crc64 -p -r -f $jacksum_root_directory | where { $_.StartsWith('0 ') } | foreach { get-item $_.Remove(0, 2) }

Todos os arquivos zerados e vazios terão uma soma de verificação zero e devem aparecer na listagem, mas é possível que outros arquivos não zerados também tenham uma soma de verificação zero.

Quando você se sentir confiante de que os arquivos listados podem ser excluídos com segurança, eles podem ser excluídos automaticamente, substituindo get-item-os remove-itempela terceira linha e executando novamente o comando.

Kate
fonte