yakini
Goto Top

(viele) mit Nullen gefüllte Dateien automatisch von denen mit Inhalt unterscheiden

Ich habe folgendes Problem.

Betriebssystem ist Windows 10.

Die Festplatte eines Freundes, gefüllt mit mehreren TB Musik- und Videodateien war nicht mehr lesbar. Er hat mit Recoverit Daten retten können.
Anfangs dachte er, so gut wie alles wäre gerettet, aber es stellte sich heraus, das Ordner und Files in vielen Fällen nur so aussehen.
Es gibt Files, die haben nach der Wiederherstellung den richtigen Namen, die richtige Dateiendung und liegen im richtigen Ordner aber sie sind leer. Also nicht wirklich leer, sie sind gefüllt mit Nullen.
Wenn ich sie mit einem Editor öffne sehe ich NUL|NUL|NUL oder in Hexadezimal 00 00 00 00 00 00 00 00 - das ganze File voll.
Andere Files sind wieder normal hergestellt.

Ich suche eine Lösung irgendwie automatisiert die guten ins Töpfchen und die schlechten ins Kröpfchen zu werfen oder zu kennzeichnen. Es sind über 400.000 Files.

Am liebsten wäre mir, wenn es gelänge an die Filename der Defekten eine andere Endung anzuhängen, so dass man ohne viel Aufwand später den originalen Filenamen noch sehen kann um fehlende Dateien neu zu beschaffen.

Suchen z.B. im Total Commander nach NUL oder Hex 00 funktioniert nicht.

Hat jemand eine Idee?

Danke schon mal für Hilfe.

Content-ID: 7718268864

Url: https://administrator.de/contentid/7718268864

Ausgedruckt am: 22.11.2024 um 16:11 Uhr

beidermachtvongreyscull
beidermachtvongreyscull 03.07.2023 um 06:07:45 Uhr
Goto Top
Moin,

ich erinnere mich noch an einen ähnlich gelagerten Fall. Ich musste den ContentStore eines DMS wiederherstellen und tausenden Dateien eine korrekte Endung wieder zuweisen.

Ich benutzte damals https://mark0.net/soft-trid-e.html.
Die Software durchläuft alle Dateien und identifiziert sie anhand des Dateikopfes. Das ging sehr gut.

Gruß
bdmvg
7426148943
7426148943 03.07.2023 aktualisiert um 08:09:52 Uhr
Goto Top
Mit PowerShell z.B.
Get-ChildItem 'd:\ordner' -File -Recurse | ?{!((Get-Content $_.Fullname -Encoding Byte -TotalCount 1000) -ne 0)} | rename-item -NewName {$_.Name + '.leer'} -verbose  

Mit Bash z.b
find /folder/path -type f | xargs -I{} bash -c "<{} tr -d '\0' | read -n 1 || mv {} {}.leer"  

Zeppel
yakini
yakini 05.07.2023 um 02:03:02 Uhr
Goto Top
danke erst mal fpr die Hilfe, ich muss erst mal zwei Wochen auf Dienstreise, danach probiere ich mit euren Tipps.