ชุดระบุไฟล์ที่เต็มไปด้วยศูนย์


0

ฉันมีบางโฟลเดอร์ที่มีไฟล์ (ไฟล์ P2P ชั่วคราวที่บันทึกไว้ผิดพลาด) ซึ่งเต็มไปด้วยเลขศูนย์ - โปรแกรม / แบทช์ใด ๆ ที่สามารถตรวจสอบได้? ฉันไม่ต้องการเปิดแต่ละรายการด้วยตัวแก้ไข hex


ไฟล์ประเภทใด
Sathyajith Bhat

023. ส่วน - ศูนย์รวม - มีจำนวนมากเกินกว่าที่จะตรวจสอบทั้งหมดทีละรายการ
Mr_and_Mrs_D

ไฟล์มีขนาดเท่าใด?
kate

อะไรก็ได้ตั้งแต่ไม่กี่เมกะไบต์จนถึงกี่กิ๊ก
Mr_and_Mrs_D

1
(โอ๊ะโอ, ดำเนินการต่อจากด้านบน) ตัวอย่างเช่นการใช้อัลกอริทึม CRC-16 มาตรฐานไฟล์ที่มี hex byte 01 จะมี CRC แบบเอนด์น้อยของ C0C1; การผนวก hex bytes C1 C0 เข้ากับไฟล์จะทำให้ CRC เป็นศูนย์
kate

คำตอบ:


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) }

ไฟล์ zero-out และ empty ทั้งหมดจะมี checksum เป็นศูนย์และควรแสดงในรายการ แต่อาจเป็นไปได้ว่าไฟล์อื่นที่ไม่ใช่ zeroed อาจมี checksum เป็นศูนย์

เมื่อคุณรู้สึกมั่นใจว่าไฟล์ที่อยู่ในรายการนั้นสามารถลบได้อย่างปลอดภัยไฟล์นั้นสามารถลบได้โดยอัตโนมัติโดยการแทนที่ get-item กับ remove-item ในบรรทัดที่สามและเรียกใช้คำสั่งอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.