はじめに
「このフォルダ、ファイル名バラバラで見づらいなぁ……」 「でも、ひとつずつ名前変えるのめんどくさっ!」
…そう思ったことありませんか?
はい、僕もその一人です(笑)
手間は最小限に、だけどスッキリ整理したい!
そんなズボラな自分のために作ったのが「ファイル名を作成日で一括リネームするPythonスクリプト」です。
この記事では、そんな“面倒くさがり向け”のちょっと便利な自動整理スクリプトを紹介します。
やりたいこと
準備するもの
ライブラリ
-
os(標準) -
tkinter(標準) -
datetime(標準) -
shutil(標準) -
pathlib(標準)
インポート手順
特別なインストールは不要!Pythonをインストールしていればすぐ使えます。
import os import tkinter as tk from tkinter import filedialog from datetime import datetime from pathlib import Path
このライブラリの説明
| ライブラリ | 役割 |
|---|---|
| os | ファイル操作全般 |
| tkinter | フォルダ選択のGUI |
| datetime | 作成日の整形 |
| pathlib | パス操作のシンプル化 |
ディレクトリ構成
作業用フォルダの中にリネーム対象のファイルがあるだけでOKです。
コードスクリプト
コードスクリプトの概要
指定したフォルダ内のファイルを「作成日.拡張子」という形で一括リネームするスクリプトです。
スクリプト全文(コピペOK)
import os
import tkinter as tk
from tkinter import filedialog
from datetime import datetime
from pathlib import Path
# フォルダ選択ダイアログを表示
root = tk.Tk()
root.withdraw()
folder = filedialog.askdirectory(title="フォルダを選択してください")
# フォルダが選択されたら処理を開始
if folder:
for file in os.listdir(folder):
path = Path(folder) / file
if path.is_file():
# 作成日を取得し、YYYYMMDD形式に変換
timestamp = path.stat().st_ctime
created = datetime.fromtimestamp(timestamp).strftime('%Y%m%d')
# 拡張子を保持したままリネーム
new_name = f"{created}{path.suffix}"
new_path = path.with_name(new_name)
# 同名ファイルがない場合のみリネーム
if not new_path.exists():
path.rename(new_path)
print(f"リネーム: {file} → {new_name}")
else:
print(f"スキップ(同名ファイルあり): {file}")
else:
print("フォルダが選択されませんでした。")
実行結果
以下作業フォルダ:


コード解説
-
tkinterでフォルダをGUIで選択 -
path.stat().st_ctimeでファイルの作成日時を取得 -
datetime.fromtimestamp(...).strftime('%Y%m%d')で20250112の形式に -
path.rename()でリネーム処理
注意点
-
同じ作成日のファイルが複数あると上書き防止でスキップされます
(必要に応じてファイル名に連番をつける処理を追加することも可能) -
Windows/Macで「作成日時」の扱いが違う場合があります(Macは「変更日時」になることがある)
-
サブフォルダは処理しません
まとめ
-
面倒くさいファイル整理が1発でできる!
-
日付で並ぶから後から探しやすい!
-
Python初心者でも使いやすいコード
私の場合、週に1回くらい「ファイル整理タイム」を作って、このスクリプトをポチッと実行しています。
たった数秒でごちゃついたフォルダが整うと、ちょっと気分もスッキリしますよ。
ちょっとした手間をPythonに任せて、スッキリしたデスクトップ生活を始めましょう!



コメント