#author("2022-08-08T10:33:04+09:00","default:yakumo_murakami","yakumo_murakami") #author("2022-08-08T10:34:59+09:00","default:yakumo_murakami","yakumo_murakami") [[今さらPython]] お仕事の作業端末の容量が小さくて、勝手に圧縮するものをでっちあげてみたわ。 これぞ雑品って感じよね。 一応、こんな感じになってるわ。 - ディレクトリ内の一覧は os.listdir で - ディレクトリかどうかの判定は、os.path.isdir で - ディレクトリ→対応zipファイルの有無は文字列追加→os.path.isfileで。 - 検索ファイルがzipかどうかの判定は、re.matchで。 - 最後に、zip圧縮は shutil.make_archive で。 #/usr/bin/env python import os import re import shutil for f in os.listdir("."): print("###"+f) if(os.path.isdir(f) == True): t_file = f+".zip" if(os.path.isfile(t_file) != True): print("#.."+f+" is Go Archive... ",end="") shutil.make_archive(f, format='zip', root_dir=f) print("OK!") else: print("#.."+t_file+" is Already Archive") elif(re.match(r'.+.zip',f) != None): print("\t"+f+" is ZipFile!") else: print("#.."+f+" is Not Directory.") ああそうそう、Windows端末だとコレだけじゃ困るわよね。 だったら、パスの通った場所にこれを置くのよ。スクリプト名は zipdir.py を想定してるわ。 だったら、パスの通った場所にこれを置くのよ。スクリプト本体の所在は、c:\Users\ユーザ名\bin\zipdir.py を想定してるわ。 zipdir.bat @echo off python %USERPROFILE%\bin\zipdir.py これで、Windows版でWindowsコンソールから呼び出す場合もOKよ。