AIにお願いしてリネームアプリを作ってもらいました

ChatGPT

仕事上、大量のファイルを管理することがあり、リネーム処理などが必要な場合があります。
以前は”Shupapan”というmacの最強リネームアプリがありましたが、64ビット対応を見送るということで開発が終了してしまいました。

私はワガママユーザーなので、たまにしか使わないものにお金をかけたくないなということで、「無料でなんとかしたい! 1円も払うもんか」という卑しい気持ちでmacで使える代替アプリを探していました。

macのFinderにある”名称変更”やAutomatorでもやりたいことは概ねできるのですが、正規表現などが使えないのが少し物足りず…、とはいえ”Shupapan”と同等となると価格が…。
mac標準の”名称変更”やAutomatorでごまかしながら数年間やり過ごして、AIの進化を目の当たりにして重い腰を上げました。

ないなら自分で作っちゃおう!(AIに丸投げして)

Pythonなどのプログラミング言語を使えば簡単にリネームできることは知っていましたが、そんなスキルはあるはずもなく、また、どんな作り(構造)になっているのかも分かっていません。
よくこんな状況で自作しようと思えるのか、夏の暑さにでも当てられたのかも(構想時は夏でした)。

ちょっとした処理なら今までにもChatGPTに作ってもらったことはあったのですが、(自分的に)本格的なものは初めての経験です。ソースコードを拝借(参考に)できるサイトはないかな?と探したところ、シンプルでベースとして素晴らしい記事(Pythonで手軽にできるファイル名変更アプリの作り方)を見つけました。

実践

公開されているソースコードをChatGPT(たしかGPT-4.1かGPT-5)にアップロードし、プロンプトで「このコードを参考にリネームアプリを作りたいんだが?これにいくつか機能を追加したいしおすすめがあったら候補を提案してくれないかね(お願いします)。」と指示してみました。

ちなみに当時の私の環境はこちらです
mac OS13.7.7、Pythonの実行環境は、JupyterLab DesktopのMac版、Python 3.12.2

 

で、回答がこちら。

AIの回答1

競合の事前検出や実行前の確認ダイアログ、知らない機能も含めてなかなか良い提案をしてくれました。
また、サンプルコードも書いてくれたので、試しに実行してみました。

しかし、「名称未設定フォルダのコピー2」「名称未設定フォルダのコピー3」など濁点や半濁点を含むファイルやフォルダだとうまく処理できませんでした。
もしや以前から苦しめられている正規化の問題では?と思い、ChatGPTに聞いてみました。

正規化問題の質問1

動作確認テストを挟み、じゃあ、他のリネームアプリはどう対処してるのかなと思い、さらに聞いてみた。

正規化問題の質問2
AIの回答2

うーん、なにが正解か分からなくなったぞ。おすすめを聞いてみました。

AIの回答3

じゃあそれで! ついでに「.DS_Store」や「~$」ではじまる隠しファイルや一時ファイルを処理しないようにお願いしてみた。
さらに検証を進めてみると、自然順ソートやUNDO機能なんかも気になったりしてきて修正を重ねていきました。
その都度かなり長いフルコードを書いてもらっていたのでスレッドの長さも大変なことに。

ソースコード

機能はひととおりやりたいことを実装できたかなと思い、最終確認をしてみたら並び順に違和感が。
リネームアプリでフォルダやファイルを選択して表示させると作成した順に並ばなかったので、これまた聞いてみました。

AIにソートの質問1
AIにソートの質問2

なんか急に馴れ馴れしくなったぞ。こうやってやり取りを続けていると、AIが話題になる前に自力でリネームアプリを作るのは、並大抵ではない努力が必要だったんだなと改めて感じました。
プロンプトでAIとやり取りするだけでも大変なのに。

ソート問題もなんとか解決(うやむやとも言う)し、せっかくなのでアプリ化にも挑戦してみました。
自分1人で使うなら毎回Pythonから立ち上げればいいのですが、他の人にも使ってもらって便利だなと感じてもらえたらうれしいなと。tkinterのライブラリを使ったGUI化のあとはPyInstallerを使ってアプリ化までやってみました。

アプリ化に挑戦

数年前、Pythonの教科書で勉強していたときにアプリ化は試したことがあったので(そのままコードを書いただけですが)、問題なく完成するだろうと思っていましたがさらなる試練が。

PyInstallerでアプリ化(mac環境とWin環境)したところ、macでは、「右クリック→開く」で起動できましたが、Winで作成したexeファイルがWindows Defenderやウイルスソフト(ESET)に脅威と検知されてすぐに削除されてしまいました。Windows Defenderやウイルスソフトの設定をいじってみても効果なし。諦めてChatGPTに聞いてみた。

AIにexe化の質問1
AIにexe化の質問2

ふむふむ、Windowsでは署名が必要なのか。(めんどくさそうだな)セキュリティがしっかりしているな。

なんやかんやAIとやり取りを続けてコマンドプロンプトを使用した署名方法を教わり、無事Windowsでもアプリ化できました。

リネームアプリの外観

こちらが完成したアプリの画面です! 左の黄色い窓に処理前のファイルやフォルダ名が表示され、右の白い窓に処理結果の実行前確認ができます。
機能を盛り込みすぎて左右の窓が非対称だったり、同じ機能が重複しているところがあるかもしれないですが、個人的には大満足な出来でした。

さっそく他の人にも使ってもらおうとしたのですが、Windowsでは署名のインストールがなかなかうまくいかず、
macでは作成に使ったOSより古いOSだとアプリが起動せず、今でもほとんど人の役に立てていないのが残念です。
社内のmacOSはAdobeの古いアプリケーションとの互換性確保のためOSが古いものが多い。

自分で検証した上では、とくに問題なく使えていますが、何も知識がない素人が作ったものなのでコードは公開しないでおきます。
プログラミングの知識がなくても簡単なアプリならバイブコーディングで作成できてしまうかも、という紹介でした。
次回は画像のコンタクトシートを作るアプリを紹介する予定です。