Contribution - Script to sort testdisk/photorec results

Using PhotoRec to recover lost data
Forum rules
When asking for technical support:
- Search for posts on the same topic before posting a new question.
- Give clear, specific information in the title of your post.
- Include as many details as you can, MOST POSTS WILL GET ONLY ONE OR TWO ANSWERS.
- Post a follow up with a "Thank you" or "This worked!"
- When you learn something, use that knowledge to HELP ANOTHER USER LATER.
Before posting, please read https://www.cgsecurity.org/testdisk.pdf
Locked
Message
Author
datacorder
Posts: 4
Joined: 12 May 2012, 22:42

Contribution - Script to sort testdisk/photorec results

#1 Post by datacorder »

Hi all,

Those of you using testdisk/photorec free software for recovering lost files shall know what means searching specific file types as images in results.

I just did a short python script that sorts all the files extracted by testdisk/photorec in folders sorted by filetype (images, pdf, video, etc).

You can check it too in my website at http://system-tricks.com/index.php/data ... y-results/

Hope you find it useful.

Code: Select all

#!/usr/bin/env python
#
# System-Tricks - http://system-tricks.com
# Copyleft 2012 - Luis A. Fernandez (datacorder@gmail.com)
#
# This program is free software. You can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>. 

import os, magic
from shutil import copyfile
#================ CONFIG SECTION ================#
# Source folder with photorec/testdisk results:
testdisk_results = 'SOURCE FOLDER WHERE TESTDISK RESULTS ARE'
#
# Destination folder where you want to store the sorted results:
base_destdir = 'DESTINATION FOLDER WHERE YOU WANT TO STORE SORTED RESULTS'
#
# File types to filter out. You can add every MIME-types you are not interested on:
filter = ['application_octet-stream', 'text_plain']
#============= END OF CONFIG SECTION ============#
types = {}
mime = magic.open(magic.MAGIC_MIME)
mime.load()
for dir in os.listdir(testdisk_results):
    for filename in os.listdir(os.path.join(testdisk_results, dir)):
        file = os.path.join(testdisk_results, dir, filename)
        filetype = mime.file(file).split(';')[0].replace('/', '_').replace(" ", "_").split(',')[0]
        if filetype in filter:
            continue
        if not filetype in types:
            types[filetype] = 1
        else:
            types[filetype] += 1
        print filename + ": " + filetype
        destdir = os.path.join(base_destdir, filetype)
        destfile = os.path.join(destdir, filename)
        if os.path.exists(destdir):
            try:
                copyfile(file, destfile)
            except Exception, e:
                print "Error copying " + filename + ": " + str(e)
                continue
        else:
            os.makedirs(destdir)
            try:
                copyfile(file, destfile)
            except Exception, e:
                print "Error copying " + filename + ": " + str(e)
                continue
print "\n** Results:\n--------------------"
for type in types:
    print type + ": " + str(types[type]) + " files"
print print "\n---------------------------\n\n* Finished. Results stored in " + base_destdir + "\n\n"
Last edited by datacorder on 15 May 2012, 09:54, edited 2 times in total.

User avatar
remy
Posts: 457
Joined: 25 Mar 2012, 10:21
Location: Strasbourg, France.
Contact:

Re: Contribution - Script to sort testdisk/photorec results

#2 Post by remy »

Did not try yours, but will test later.

By the way, there are already scripts like yours. Solutions are there :

http://www.cgsecurity.org/wiki/After_Using_PhotoRec

EDIT : BTW, could be a good idea to specify your licence for this script. Is it under GPL, copyleft, CCBY... ?
Your webpage is under copyleft, but nothing there tells to user for the script. ;)

datacorder
Posts: 4
Joined: 12 May 2012, 22:42

Re: Contribution - Script to sort testdisk/photorec results

#3 Post by datacorder »

Ei remy, thank you very much. I forgotten the license. Now it's under GPL, of course.

I didn't knew about that script. Anyway I hope it's useful.

Cheers!

User avatar
remy
Posts: 457
Joined: 25 Mar 2012, 10:21
Location: Strasbourg, France.
Contact:

Re: Contribution - Script to sort testdisk/photorec results

#4 Post by remy »

I'll let you know next time I've a datarecovery to do with many filetypes. I'll try your script also and compare results, and time taken. But as far as I can see (I don't know enough python) the structure is very similar with the one in the wiki page.

BTW, are you involved in DR ?

datacorder
Posts: 4
Joined: 12 May 2012, 22:42

Re: Contribution - Script to sort testdisk/photorec results

#5 Post by datacorder »

Great, will be great receive your feedback.

I have a small DR business for giving service to some computer repair stores in my area. Just to recovering data from non physical damages, you know. I would like to buy some stuff later in order to expand it but at the moment I'm focused on my main job.

I think on it as one of the best options for my retirement ;)

User avatar
remy
Posts: 457
Joined: 25 Mar 2012, 10:21
Location: Strasbourg, France.
Contact:

Re: Contribution - Script to sort testdisk/photorec results

#6 Post by remy »

Do not hesitate to contact me by PM. I'm in the same situation : I was a teacher (since 12 years) and I decide to change my life and create a Cie in DR. Where are you from ?

datacorder
Posts: 4
Joined: 12 May 2012, 22:42

Re: Contribution - Script to sort testdisk/photorec results

#7 Post by datacorder »

Greaet, thank you remy, I'm sure that I will contact you forward :)

I'm from Spain. Is you DR bussines working??

User avatar
remy
Posts: 457
Joined: 25 Mar 2012, 10:21
Location: Strasbourg, France.
Contact:

Re: Contribution - Script to sort testdisk/photorec results

#8 Post by remy »

Yes, like a little Cie begining, but... good beginning.

Locked