#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os, sys
# Change this to your jpg-directory, for example to
# mydir = "/home/user"
mydir = os.getcwd()
PREF = "neu-"
done = ["No", 0, 0]
if len(sys.argv) > 1:
done[0] = sys.argv[1]
a = os.listdir(mydir)
b = []
c = []
d = []
x = 1
def zeros(a):
if len(str(a)) > 5:
print "More than 99.999 files. Exiting !\n"
sys.exit()
b = ""
for i in range(5 - len(str(a))):
b += "0"
return(b)
for i in a:
if i.endswith(".jpg") or i.endswith(".jpeg"):
if os.path.isfile(mydir + "/" + i):
b.append(i)
for i in b:
if len(i) == 13:
numbs = i[4:9]
if numbs.isdigit() and i == PREF + numbs + ".jpg":
if done[1] == 0 and done[0] == "-v":
print
if done[0] == "-v":
print 'Leaving file "' + i + '" unchanged.'
c.append(i)
done[1] += 1
continue
d.append(i)
for i in range(len(d)):
fromfile = d[i]
y = 0
while y == 0:
y = 1
tofile = PREF + zeros(x) + str(x) + ".jpg"
for u in c:
if tofile == u:
x += 1
y = 0
break
x += 1
if done[1] == 0 and done[0] == "-v":
print
if done[0] == "-v":
print 'Changing file "' + fromfile + '" to "' + tofile + '".'
fromfile = mydir + "/" + fromfile
tofile = mydir + "/" + tofile
sysstr="mv " + fromfile + " " + tofile
os.system(sysstr)
done[2] += 1
print
print "Finished:"
if done[1] == 0 and done[2] == 0:
print "Nothing done."
else:
print "Left unchanged:\t" + str(done[1]) + " file(s)."
print "Renamed:\t" + str(done[2]) + " file(s)."
print
Ich werde aber auch die Phython-Lösung bei Zeiten mal ausprobieren.
wget -c http://www.angelfire.com/linux/tux25/jpgren.py
chmod +x jpgren.py