# Nach dem Gebrauch von PhotoRec

### From CGSecurity

english version deutsche Version version française

Es kann schwer sein, die unter PhotoRec wiederhergestellten Dateien zu sortieren . Du kannst hier einige Ideen finden, die dir in diesem Prozess helfen können.

## Dateien nach Erweiterung sortieren

Mit diesem Python Skript kann man die Dateien nach der Dateierweiterung sortieren:

    import os
    import os.path
    import shutil

    while True:
        source = raw_input('Enter the source directory\n')
        if os.path.exists(source): break
        else: print 'The directory you have entered does not exist'
    while True:
        destination = raw_input('Enter the destination directory\n')
        if os.path.exists(destination): break
        else: print 'The directory you have entered does not exist'

    for root, dirs, files in os.walk(source, topdown=False):
        for files2 in files:
            extension = os.path.splitext(os.path.join(root,files2))[1][1:]
            if os.path.exists(os.path.join(destination,extension)):
                shutil.copy(os.path.join(root,files2), os.path.join(destination,extension))
            else:
                os.mkdir(os.path.join(destination,extension))
                shutil.copy(os.path.join(root,files2), os.path.join(destination,extension))

## Jpeg

- JPEG-Dateisortierung (englisch) unter Verwendung von Exif-Metadaten.
- Canon PowerShot-Modelle speichern die Reihenfolge der Bildnummern in den Exif-Daten. Mit einem Programm das einen Speicherauszug der Exif-Daten in text wie jhead ausgeben kann, und dem folgende Perl-Script, kannst du im Grunde genommen alle JPG-Dateien zu ihren original Dateinamen wiederherstellen.--Vees 01:59, 8 January 2007 (CET)

    $working_dir = '.';
    $jhead_bin = '/usr/local/bin/jhead';

    @recovered_files = `ls $working_dir`;
    foreach $file (@recovered_files) {
            chomp $file;
            @exif = `$jhead_bin -v $working_dir/$file`;
            foreach $line (@exif) {
                    if ($line =~ /Canon maker tag 0008 Value = 100(\d{1,8})$/) {
                            system("mv $working_dir/$file $working_dir/IMG_$1.JPG");
                            print "IMG_$1.JPG from $file\n";
                            last;
                    }
            }
    }

- Der folgende Text ist eine Stapelverarbeitungsdatei für Windows, welche die Dateinamen und die Verzeichnisstruktur mithilfe von den eingebetteten EXIF Informationen und dem Programm ExifTool wiederherstellt (nur für die Kameras von Canon, getestet mit zahlreichen Fotos von der EOS 20D) --Joey 08:36, 17 July 2008 (CEST)

    @echo off
    for %%f in (*.jpg) do call :process %%f
    goto :eof
    :process
    for /f "usebackq delims=- tokens=1,2" %%a in (`exiftool -p ^"^$FileNumber^" %1`) do set gnum=%%a&set fnum=%%b
    if "%gnum%"=="" goto :eof
    if "%fnum%"=="" goto :eof
    if not exist %gnum%CANON (
    	echo Creating directory %gnum%CANON
    	mkdir %gnum%CANON
    )
    echo Moving %1 to %gnum%CANON\_mg_%fnum%.jpg
    ren %1 _mg_%fnum%.jpg>NUL
    move _mg_%fnum%.jpg %gnum%CANON>NUL
    goto :eof

## Entfernen des unsichtbaren Mülls am ende der wiederhergestellten Datei

- Unter Linux kannst du für Dateierweiterungen, mit denen ImageMagick umgehen kann, folgendes ausführen

    for file in recup_dir*/*; do convert $file $file; done

- Unter Linux (oder mit perl und 'convert'), kannst du das oben genannte durch eine Zählschleife ('for' loop) automatisieren und viele sonstige Bilder-Stapelverarbeitungen (batch image processing) mit fix_img erledigen

## Duplikate finden

- Unter Linux, kann md5sum verwendet werden um Dateiduplikate zu finden, vielleicht einfach md5sum nur auf die ersten x Bytes anwenden.

In diesem Beispiel überprüfen wir die ersten 80k von recup_dir*/*.sib

    for file in recup_dir.*/*.sib; do MD5=`dd count=20 bs=4k if="$file" 2> /dev/null|md5sum`; echo "$MD5 $file"; done|sort
    1a07198de3486ff2ecab7859612fe7ba  - Box Clever.sib
    33105f4a7997b2e2681e404b3ac895f2  - Random, Matching - 2 bars.sib
    376e0c53e78e56ba6f2858d9680f8c6b  - 01aIdentifyCommonInst.sib
    b0b40a516a1e26660748a0a09cdf3207  - 01ArticulationFlashcards.sib

Wenn jede Checksumme einzigartig ist gibt es keine Duplikate.

- Unter Linux (oder mit perl und 'sum'), kannst du Duplikate in einer Hierarchie unter Verwendung von find_dup finden oder mithilfe von finddup von fslint.
- Unter Windows kann man die fc utility benutzen um duplikate zu finden, die folgende Stapelverarbeitungsdatei kann auch helfen (funktioniert nicht mit Win9x/ME) : --Joey 08:36, 17 July 2008 (CEST)

    @echo off
    SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
    SET FILELIST=
    FOR %%i IN (*) DO (
    	FOR %%j IN (!FILELIST!) DO (
    		IF %%~zi EQU %%~zj (
    			fc /b "%%~i" "%%~j">NUL && echo "%%~i" = "%%~j"
    		)
    	)
    	SET FILELIST=!FILELIST! "%%~i"
    )
    ENDLOCAL

- Unter Windows kann man ein "/r" (ohne Anführungszeichen) hinter die beiden "for"s in der obenstehenden Stapelverarbeitungsdatei hinzufügen.

- Unter Linux (oder mit perl und 'convert'), kannst du das oben genannte durch eine Zählschleife ('for' loop) automatisieren und viele sonstige Bilder-Stapelverarbeitungen (batch image processing) mit fix_img erledigen

## MS Office

- Um ein kaputtes Office-Dokument zu lesen (doc/xls/ppt/...), bei dem MS Office scheitert, kannst du OpenOffice versuchen. OpenOffice.org ist eine freie (quelloffene) Office-Suite, die in verschiedenen Sprachen und für verschiedene Plattformen zur Verfügung steht. Es ist zu allen anderen größeren Büro-Suiten kompatibel, das Produkt ist frei zum herunterzuladen, und auch in der Verwendung und Verteilung frei.
- Einige MS Office Dokumente (xls/ppt/...) könnten mit einer Word .doc Dateierweiterung wiederhergestellt werden es könnte sein, dass Sie die Dateien umbenennen müssen.

## MS Outlook

- Um eine kaputte Outlook-PST-Datei wiederherzustellen, versuche Microsoft Scanpst

Category: Data Recovery