放浪猫

主にガジェットとかの雑記

フォルダ選択したら0001から連番でリネームするやつ

フォルダ選択したら中のファイルを0001から連番でリネームするやつ作った。

・前提:Pythonインストール済み環境。

・使い方:rename.pyで以下のスクリプトを保存して、実行する。

「フォルダ選択」ボタンが出るので、押すとフォルダ選択するダイアログが表示される。選択したフォルダ内のファイルを全部0001~の連番で上書きリネームする。

以上

import os
import tkinter as tk
from tkinter import filedialog

def rename_files_in_folder(folder_path):
    # フォルダが選択されなかった場合は何もしない
    if not folder_path:
        print("フォルダが選択されませんでした。")
        return

    # フォルダ内のすべてのファイルを取得
    files = [f for f in os.listdir(folder_path) if os.path.isfile(os.path.join(folder_path, f))]

    # ファイル名を0001から始まる連番にリネーム
    for i, filename in enumerate(sorted(files), start=1):
        extension = os.path.splitext(filename)[1]
        new_filename = f"{i:04}{extension}"
        old_path = os.path.join(folder_path, filename)
        new_path = os.path.join(folder_path, new_filename)
        os.rename(old_path, new_path)
        print(f"リネームしました: {filename} -> {new_filename}")

    print("すべてのファイルのリネームが完了しました。")

def open_folder_dialog():
    folder_path = filedialog.askdirectory(initialdir=os.getcwd(), title="フォルダを選択してください")
    rename_files_in_folder(folder_path)

def main():
    root = tk.Tk()
    root.title("フォルダ選択とファイルリネーム")

    # ボタンを配置
    btn_open = tk.Button(root, text="フォルダを選択", command=open_folder_dialog)
    btn_open.pack(pady=20)

    # GUIを表示し続ける
    root.mainloop()

if __name__ == "__main__":
    main()