ダウンロードフォルダは、時間が経つと様々なファイルで溢れかえりがちです。このスクリプトは、ファイルを拡張子に基づいて適切なフォルダに自動的に分類し、ダウンロードフォルダを整理するのに役立ちます。
script.py
import os
import shutil
from pathlib import Path
def organize_folder(target_folder, exclude_files):
# ファイルタイプに応じたフォルダ名
folders = {
"Images": [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff", ".ico"],
"Audio": [".mp3", ".wav", ".flac", ".aac", ".ogg", ".wma"],
"Video": [".mp4", ".mkv", ".flv", ".avi", ".mov", ".wmv"],
"Documents": [".pdf", ".docx", ".doc", ".xlsx", ".xls", ".ppt", ".pptx", ".txt", ".md", ".csv"],
"Archives": [".zip", ".rar", ".7z", ".tar", ".gz", ".bz2"],
"Executables": [".exe", ".msi", ".jar", ".bat", ".sh"],
"Code": [".py", ".js", ".html", ".css", ".c", ".cpp", ".java", ".go", ".rb", ".php"],
"Others": []
}
for filename in os.listdir(target_folder):
if filename in exclude_files:
continue
file_path = target_folder / filename
if file_path.is_file():
ext = file_path.suffix
moved = False
for folder, extensions in folders.items():
if ext in extensions:
dest_folder = target_folder / folder
dest_folder.mkdir(exist_ok=True)
shutil.move(str(file_path), str(dest_folder / filename))
print(f"Moved {filename} to {folder}")
moved = True
break
if not moved:
dest_folder = target_folder / "Others"
dest_folder.mkdir(exist_ok=True)
shutil.move(str(file_path), str(dest_folder / filename))
print(f"Moved {filename} to Others")
if __name__ == "__main__":
try:
# スクリプトがある場所を取得
script_location = Path(os.path.abspath(__file__)).parent
script_name = os.path.basename(__file__)
organize_folder(script_location, exclude_files=[script_name])
except Exception as e:
print(f"An error occurred: {e}")
スクリプトの概要
このスクリプトは、指定したフォルダ内のファイルを拡張子に応じて分類し、関連するサブフォルダに移動します。例えば、画像ファイルは「Images」フォルダに、音楽ファイルは「Audio」フォルダに、文書ファイルは「Documents」フォルダに、という具合です。
スクリプトの主な機能
- 拡張子に基づく分類: ファイルは、事前に定義された拡張子リストに基づいて分類されます。
- 自動フォルダ作成: 対象となるファイルタイプのフォルダが存在しない場合、自動的に作成されます。
- 除外リスト: 特定のファイルを整理対象から除外する機能を提供します。これにより、スクリプト自体やその他の重要なファイルが移動されることを防ぎます。
スクリプトの使い方
-
ターゲットフォルダの指定: スクリプトを実行するフォルダを
target_folder
に設定します -
除外ファイルの設定:
exclude_files
リストに、移動させたくないファイルの名前を追加します - スクリプトの実行: スクリプトを実行すると、指定されたフォルダ内のファイルが適切なサブフォルダに移動されます
スクリプトのカスタマイズ
フォルダ名や対応するファイルタイプは、folders
辞書を編集することで簡単にカスタマイズできます。新しいファイルタイプを追加したい場合や、フォルダの構成を変更したい場合に便利です。
まとめ
このスクリプトは、ダウンロードフォルダを簡単かつ効率的に整理するための強力なツールです。カスタマイズが容易であるため、個々のニーズに合わせて調整してきれいに分別してみてください。