У меня есть несколько папок, которые содержат файлы (старые временные P2P-файлы, очевидно, неправильно сохраненные), которые просто заполнены нулями - любая программа / пакет, который может это проверить? Я не хочу, чтобы открыть каждый с помощью шестнадцатеричного редактора
1 ответ
Несмотря на риск ложных срабатываний (как и большинство решений на основе CRC), если установлены PowerShell и среда выполнения Java, можно выполнить примерно то, что вы просите, после загрузки и извлечения Jacksum.
Адаптируйте следующую команду (переменная $jacksum_root_directory
должна содержать косую черту), затем откройте PowerShell и запустите ее, чтобы получить список файлов с контрольной суммой нуля:
$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) }
Все обнуленные и пустые файлы будут иметь контрольную сумму, равную нулю, и должны отображаться в списке, но возможно, что другие, не обнуленные файлы также могут иметь нулевую контрольную сумму.
Если вы уверены, что перечисленные файлы можно безопасно удалить, их можно удалить автоматически, заменив get-item
на remove-item
в третьей строке и повторно выполнив команду.