Ich habe es in Python geschrieben, weil ich viele Zip-Dateien entpacken musste, die in Unterverzeichnissen unter dem aktuellen Verzeichnis verstreut waren. Die Umgebung, die ich ausführte, war Solaris 11.2, Python 2.6.2, das nicht mit dem Netz verbunden war, sodass ich alles nur mit Standardmodulen machen musste.
Um die Dateiliste zu erhalten, habe ich auf "Dateien und Verzeichnisse mit Python rekursiv suchen und ausgeben" verwiesen.
unzip_all_files.py
import sys
import os
import commands
def find_all_files(directory):
""" list-up all files in current directory(includes subdir). """
for dir, subdirs, files in os.walk(directory):
yield dir
for file in files:
yield os.path.join(dir, file)
def unzip_all_files(directory):
""" unzip all files in current directory(includes subdir). """
files = find_all_files(directory)
for file in files:
if file.endswith(u".zip") or file.endswith(u".ZIP"):
command = u"unzip -o " + file + u" -d " + os.path.dirname(file)
print command
commands.getoutput(command)
if __name__ == "__main__":
if os.path.exists(sys.argv[1]):
unzip_all_files(sys.argv[1])
Recommended Posts