Datenrettung
Wie man Daten von einer formatierten Platte rettet.
Eigentliche Datenrettung
Eigentliche Datenrettung über PhotoRec.
Dateien nach Extension sortieren
#!/usr/bin/env python
import os
import os.path
import shutil
import sys
source = sys.argv[1]
destination = sys.argv[2]
while not os.path.exists(source):
source = raw_input('Enter a valid source directory\n')
while not os.path.exists(destination):
destination = raw_input('Enter a valid destination directory\n')
for root, dirs, files in os.walk(source, topdown=False):
for file in files:
extension = os.path.splitext(file)[1][1:].lower()
destinationPath = os.path.join(destination,extension)
if not os.path.exists(destinationPath):
os.mkdir(destinationPath)
if os.path.exists(os.path.join(destinationPath,file)):
print 'WARNING: this file was not copied :' + os.path.join(root,file)
else:
# shutil.copy2(os.path.join(root,file), destinationPath)
shutil.move(os.path.join(root,file), destinationPath)
Doppelte Dateien entfernen
Doppelte Dateien finden über fastdupes.
Beipiel-Ergebnis:
/Users/blubb/Backup/avi/f604218220.avi
/Users/blubb/Backup/avi/f600049900.avi
/Users/blubb/Backup/avi/f604646956.avi
/Users/blubb/Backup/avi/f600478636.avi
/Users/blubb/Backup/avi/f115186924.avi
/Users/blubb/Backup/avi/f201566892.avi
/Users/blubb/Backup/avi/f604601580.avi
/Users/blubb/Backup/avi/f600433260.avi
Leider funktioniert die Löschen-Funktion nicht richtig. Daher mit zwei Regex-Ersetzungen (im Beispiel für TextWrangler) in Shell-Skript umwandeln.
Ersetzung 1: Die erste Kopie von Doppelten entfernen (so dass ein Exemplar bleibt)
- Suche:
\n\n[^\n]+\n
- Ersetzung:
\n
Ersetzung 2: Move-Kommando draus bauen:
- Suche:
^(.+\.)([^./]+)$
- Ersetzung:
mkdir \2\nmv "\1\2" \2/
Beispiel-Ergebnis:
mkdir avi
mv "/Users/blubb/Backup/avi/f600049900.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f600478636.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f115186924.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f201566892.avi" avi/
mkdir avi
mv "/Users/blubb/Backup/avi/f600433260.avi" avi/
Doppelte verschieben:
- In Verzeichnis für die doppelten wechseln:
cd duplicates
- Jetzt Move-Kommandos von oben ausführen
Dateinamen mit Infos anreichern
jpg
Bei Bildern stellt PhotoRec Dateidatum aus den EXIF-Daten wieder her. Damit die Dateien auch im Dateisystem automatisch nach Aufnahmezeit sortiert werden, kann man sie in Total Commander über "Menü -> Dateien -> Mehrfach-Umbenenn-Tool" (Strg
+M
) umbenennen. Die Umbenn-Maske [Y]-[M]-[D]_[h]-[m]_[N]
stellt ein ISO-Datum vor den Dateinamen. Beispiel: 2014-02-10_20-28_f696134124.jpg
.
mp3
Über das Tool Mp3tag kann man den Dateinamen mit Daten aus den ID3-Tags anreichern. Dazu Verzeichnis einlesen, alle Songs markieren und im Menü "Konverter -> Tag - Dateiname" (Alt
+1
) aufrufen. Der Formatstring %artist%_%album%_%track%_%title%_%_filename%
stellt Interpret, Album, Track-Nummer und Titel vor den Dateinamen.