Code:
#!python
import os
import sys
import shutil
srcdir = sys.argv[1]
destdir = sys.argv[2]
extensions = ['jpg','jpeg','png','gif','bmp']
def copyfile(source, dest):
if(os.path.exists(source)):
shutil.copy(source,dest)
def cleanpath(path):
if(path[-1] != "\\"):
path = path + "\\"
return path
def treecopy(dir):
dir = dir.strip()
dir = cleanpath(dir)
srcdir = cleanpath(srcdir)
contents = os.listdir(dir)
max = len(contents)
pos = 0
while(pos < max):
entry = contents[pos]
if(os.path.isfile(dir + entry)):
for ext in extensions:
if(entry[entry.rindex(".")+1:].lower().find(x.lower()) > -1):
source = srcdir + entry
copyfile(source,destdir)
elif(os.path.isdir(dir + entry)):
subdir = os.listdir(dir + entry)
for each in subdir:
each = entry + "\\" + each
contents.append(each)
max += 1
pos += 1
treecopy(destdir)
EDIT:
Actually, that would have just copied all the files. Fixed to only copy specified extensions.
EDIT2:
BTW, if using on a unix-like system, replace the "\\" characters with "/".