Accueil > programmes > récupérer des fichiers effacés , données
récupérer des fichiers effacés , données
Publié le 23 août 2017, dernière mise-à-jour le 5 mai 2023, 7 visites, 23644 visites totales.
gddrescue
gddrescue - outil GNU de récupération de données
Photorec
- on se place dans le bon dossier
- on lance la commande en root : photorec
- il faut choisir le bon disque dur avec les flèches+
- on déplace vers la droite pour les options+
; on peut décider de mettre Keep corrupted files (garder les fichiers incomplets) à yes puis - on déplace vers la droite pour File Opt et on choisit le type des fichiers à trouver avec la barre d’espace et "s" puis on quitte avec
- on déplace vers la gauche pour Search
- ensuite on choisit la bonne partition ( ou whole disk si on ne sait pas ) avec les flèches haut/bas
- on choisit la bonne partition alors ext pour linux et other pour mac/windows avec les flèches haut/bas
- on clic sur C si on s’est déjà placé dans le bon dossier
- ça crée plein de dossiers recup_dir.### avec tous les fichiers ; mais le nom est tout pourri du genre f3299392.jpg.
On commence par détruire les fichiers inutiles
On commence par transformer les noms :
recup_dir.132/f3299392.jpg -> recup_dir.132/132_f3299392.jpg
On se place dans le dossier qui contient les recup_dir.###
find r.[0-9]* -maxdepth 0 -type d -print|while read rep;do echo;find $rep -type f -print|while read fich;do echo mv $fich $(echo $fich|sed "s#/#/${rep}_#");done;done
#aide pour vérifier si ca a été fait : find . -type f |grep -v /[0-9] |wc doit donner 1 1 15
Liste des fichiers : find recup_dir.* -type f > ListeDesFichiers
. Peut être très long.
#CREATION DES DOSSIERS égaux aux suffixes, par exemple JPGs ; DOCs
cat ListeDesFichiers| sed 's#^[^/]*/##'|egrep "\."|sed 's#^.*\.\([^\.]*\)$#\1#' |sort |uniq > suffixes ; for rep in $(cat suffixes); do mkdir -p $(echo $rep | tr [:lower:] [:upper:])"s" ;done
recréation de la liste : find recup_dir.* -type f > ListeDesFichiers
# DEPLACEMENT DES FICHIERS suivant les suffixes
# 7473/51 112913/9000 135k/5160 180k/9000 62k/2500
#a revoir for fich in $(cat ListeDesFichiers) ;do mv $fich $( echo $fich | sed ’s#^[^/]*/##’|egrep "\."|sed ’s#^.*\.\([^\.]*\)$#\1#’ )"s/" ;done
recherche de constructeur
on se place dans le dossier JPG
for i in *; do constructeur=$(exiftool $i |grep '^Make '|sed 's/.*: //'); echo $constructeur >> ../constructeurs ; done
mkdir SONY PENTAX Panasonic Canon "NIKON CORPORATION"
Renommer les fichiers par constructeur
mkdir -p "NIKON CORPORATION" "Panasonic" "SONY" "PENTAX" "Canon" ; for i in $(find JPG_1M_/ ); do constructeur=$(exiftool $i |grep '^Make '|sed 's/.*: //'); if [ "$constructeur" == "NIKON CORPORATION" ];then echo $constructeur; mv $i DSCs-Nikon/$(basename $i |sed 's/IMG/DSC/') ; else if [ "$constructeur" == "Panasonic" ];then echo $constructeur; mv $i Panasonic/ ; else if [ "$constructeur" == "SONY" ];then echo $constructeur; mv $i SONY/ ; else if [ "$constructeur" == "PENTAX" ];then echo $constructeur; mv $i PENTAX/ ; else if [ "$constructeur" == "Canon" ];then echo $constructeur; mv $i Canon/ ; fi; fi; fi; fi; fi; done ;
Suffixes utiles
asf avi doc docx gif html mbox mp3 mp4 od[fpst] pdf png ppt pptx psd rtf txt wmf xls xlsx zip
images / exif
import re
from PythonMagick import Image
i='a.jpg'
img = Image(i)
nom=re.sub(':','-',re.sub(' ','_',img.attribute("EXIF:DateTimeOriginal"))+'-'+i)
print('mv '+i+' '+nom)
odt
import re,os
i='a.odt'
j=re.sub('.odt$','.txt',i)
f=open(i)
for line in f:
if 'date' in line:
date=re.sub(".*<dc\:date>(.*)</dc\:date>.*\\n","\g<1>",line)
f.close()
os.system('odt2txt '+i) # => j
f=open(j)
nomtrouvee=False
for line in f:
if re.sub("[^0-9a-zA-Z]*","",line) != '' and nomtrouvee == False:
nom=re.sub ( ' ' , '_' , re.sub("[^0-9a-zA-Z]*","",line) )+'.odt'
#os.('mv '+i+' '+nom)
os.system('mv '+i+' '+date+'-'+nom)
nomtrouvee=True
f.close()
doc
if re.sub(’^f[0-9]9.doc’,’’,fich)
http://www.cgsecurity.org/wiki/After_Using_PhotoRec
pour android voir programmes à installer : playstore gogol
ARCHIVES Ne pas lire
On commence par transformer les noms :
recup_dir.132/f3299392.jpg -> recup_dir.132/132_f3299392.jpg
On se place dans le dossier qui contient les recup_dir.###
#100 à 500 fichiers par seconde
IFS=$'\n'; for i in $(ls |grep recup_dir); do echo $i; no=$(echo $i|sed 's/recup_dir\.\([0-9]*\)/\1/' ); for j in $(ls $i); do mv $i/$j $i/"$no"_$j;done; done
#aide pour vérifier si ca a été fait : find . -type f |grep -v /[0-9] |wc doit donner 1 1 15
Liste des fichiers : find recup_dir.* -type f > ListeDesFichiers