Je l'ai écrit en Python parce que je devais décompresser un grand nombre de fichiers zip dispersés dans des sous-répertoires sous le répertoire actuel. L'environnement que j'ai exécuté était Solaris 11.2, Python 2.6.2, qui n'était pas connecté au net, donc je devais tout faire avec uniquement des modules standard.
Pour obtenir la liste des fichiers, je me suis référé à "Recherche et sortie récursives de fichiers et de répertoires avec Python".
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