画像をドラッグ&ドロップして特定のフォルダに移動するプログラム

目次

画像を移動させたい!

ある画像を特定のフォルダに複数枚一気に移動させるのって面倒ですよね.
そんなときに便利な,画像をドラッグ&ドロップするだけで簡単に移動させられるプログラムを作りましたので公開します.

言語はpython

使うのはpythonです.インストールなどは他のサイトで詳しく書いている記事が多いので割愛します.

コードはこちら

import os
import shutil
import tkinter as tk
from tkinter import messagebox, filedialog
from tkinterdnd2 import DND_FILES, TkinterDnD

# ======== 設定 ========
SAVE_FOLDER = r"C:\Users\YourName\Pictures\保存先"  # 保存フォルダパス
MOVE_FILES = False  # Trueなら移動、Falseならコピー
# =====================

# 保存先フォルダが存在しなければ作成
os.makedirs(SAVE_FOLDER, exist_ok=True)

# ファイル処理関数
def handle_files(event):
    files = root.tk.splitlist(event.data)  # 複数ファイル対応
    for file_path in files:
        if os.path.isfile(file_path):
            # 拡張子チェック(画像のみ)
            ext = os.path.splitext(file_path)[1].lower()
            if ext in [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".tiff"]:
                dest_path = os.path.join(SAVE_FOLDER, os.path.basename(file_path))
                try:
                    if MOVE_FILES:
                        shutil.move(file_path, dest_path)
                    else:
                        shutil.copy(file_path, dest_path)
                except Exception as e:
                    messagebox.showerror("エラー", f"ファイル処理中にエラーが発生しました:\n{e}")
    messagebox.showinfo("完了", "すべてのファイルが処理されました。")

# TkinterDnDウィンドウ作成
root = TkinterDnD.Tk()
root.title("画像ドラッグ&ドロップ保存")
root.geometry("500x300")

label = tk.Label(root, text="ここに画像ファイルをドラッグ&ドロップしてください", font=("Arial", 14), wraplength=450)
label.pack(expand=True, fill="both")

# ドロップ受け取り設定
label.drop_target_register(DND_FILES)
label.dnd_bind("<<Drop>>", handle_files)

root.mainloop()

このコードを実行すれば,
「ここに画像をファイルをドラッグ&ドロップしてください」
というウィンドウが表れます.そこにSAVE_FOLDERで指定した保存先に保存したい画像をドラッグ&ドロップしていくだけ!

なんて簡単なんだ.みなさんも使ってみてください.

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次