forked from eye9poob/python
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsdfd.py
35 lines (35 loc) · 1.01 KB
/
sdfd.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/usr/bin/python
#Usage: sdfd.py "/folder/to/scan/for/duplicates"
#Options: -d (delete duplicate files)
# by ..:: crazyjunkie ::.. 2015
#
import sys
import os
bytes = filenames = []
x = d = delete = fd = 0
darg = 'null'
try:
darg = str(sys.argv[2])
except IndexError:
darg = 'null'
if darg == "-d":
print ("OPTIONS: -d (deletion) is enabled")
delete = 1
print ("")
for file in os.listdir(str(sys.argv[1])):
filesize = (os.path.getsize(("%s/%s" % (str(sys.argv[1]), file))))
if filesize in bytes:
print ("%s - Duplicate > Matching: %s" % (file, filenames[bytes.index(filesize)]))
d += 1
if delete == 1:
os.remove(("%s/%s" % (str(sys.argv[1]), file)))
print ("ACTION: Removed %s" % (file))
else:
bytes.append(filesize)
filenames.append(file)
x += 1
print ("")
if delete == 1:
print ("DONE: Scanned %s file(s) and deleted %s duplicate(s)" % (x, d))
else:
print ("DONE: Scanned %s file(s) and found %s duplicate(s)" % (x, d))