# Après l'utilisation de PhotoRec

### From CGSecurity

english version deutsche Version version française

Il peut être difficile de trier les fichiers restaurés par PhotoRec. Vous trouverez ci-dessous quelques idées pour vous aider dans cette tâche.

## Trier les fichiers par extension

Vous pouvez utiliser ce script Python pour trier les fichiers trouvés par extension:

    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

- Tri de fichiers JPEG utilisant les méta-données EXIF.
- Les appareils Canon PowerShot enregistrent les numéros séquentiels d'image dans les données Exif, ainsi en utilisant un programme capable d'extraire les données Exif vers du texte, comme jhead, et le script Perl suvant, vous pourrez principalement restaurer tous les noms originaux des fichiers JPG. --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;
                    }
            }
    }

- Ci-dessous un fichier batch pour windows qui recrée la structure originale des dossiers et noms de fichiers présents sur la carte (pour les appareils Canon, testé avec de nombreuses photos depuis un EOS 20D), en utilisant l'information EXIF de numéro de fichier (au moyen de ExifTool), à peu près comme le script shell ci-dessus. --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

## Enlever les données inutiles (et invisibles) à la fin des images restaurées

- Sous Linux, pour les extensions de fichiers dont le type est reconnu par ImageMagick, pour retirer les données inutiles après la fin des fichiers, vous pouvez lancer quelque chose comme :

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

- Sous Linux (ou avec perl et 'convert'), vous pouvez automatiser la boucle 'for' ci-dessus et appliquer de nombreux autres processus de traitement d'image avec fix_img

## Trouver les doublons

- Sous Linux, md5sum peut être utilisé pour trouver les doublons, peut-être juste en appliquant le calcul aux x premiers octets.

Dans cet exemple, nous vérifions les premiers 80k de 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

Chaque checksum est unique, il n'y a donc pas de doublon.

- Sous Linux (ou avec perl et 'sum'), vous pouvez trouver les doublons dans une arborescence en utilisant find_dup ou finddup de fslint.

- Sous Windows vous pouvez utiliser l'utilitaire fc pour trouver des doublons, le script suivant (ne fonctionne pas sous Win9x/ME) peut aider: --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

- Sous Windows vous pouvez ajouter un "/r" (sans les guillemets) aprés chacun des "for" dans le fichier batch ci-dessus.

## MP3, Ogg vorbis...

La plupart des fichiers mp3 et ogg ont des informations embarquées comme le titre, l'album et l'auteur. Vous pouvez utiliser EasyTag pour renommer automatiquement les mp3 et ogg récupérés en utilisant ces informations.

## MS Office

- Pour lire des documents MS Office (doc/xls/ppt/...) cassés que MS Office n'arrive plus à ouvrir, vous pouvez essayer OpenOffice. OpenOffice est une suite office muliplateforme et multilangue, et un projet open-source. Compatible avec toutes les principales autres suites office, ce produit est libre. Vous pouvez le télécharger, l'utiliser et le redistribuer librement.
- Quelques documents MS Office (xls/ppt/...) seront peut-être restaurés avec une extension Word ".doc", vous aurez alors à les renommer.

## MS Outlook

- Pour restaurer des fichiers Outlook ".pst" cassés, essayez Microsoft Scanpst

Category: Data Recovery