BatchRename Ver1.0を公開しました
指定した文字列を一斉にフォルダ内のファイル名から除去する名称変更ソフト – BatchRename Ver 1.0を公開しました。ファイル数1万でもサクッと読み込んじゃいます。
開発について
今回、一番頭を悩まされたのはGUIライブラリの「JavaFX」の「textarea」に文字列をバンバン短期間に足していくと、なぜかエラーが表示されるということでした。そもそもなぜ、短期間で大量に文字列を追加するとエラーになるのか未だにわからないのですが、とにかく、対策を考えるまではかなり時間を食わされました。
設定保存機能の追加はそれほど大変ではなく、XMLを処理するライブラリを足して、色々ファンクションを書いたりしたら普通にうまくいきました。
このソフトは初めて作ったGUIソフトだったんで、βバージョンでは後先考えず、GUIを描写するクラスと名称変更のロジックをすべて同じスレッドで処理してました。おかげさまで、βバージョンでは大量のファイルを読み込むときには画面がフリーズしちゃったんですw。そこを今回、ロジックを別スレッドに移すことでフリーズする問題を解消しました。所謂、「マルチスレッド」というやつじゃないですか。
あと、すごい単純な問題 なんですけど、JavaにはGUIを作成するためのライブラリが「Swing」、「awt」と「JavaFX8」などがあって、中にはお互い全く同じ名前のクラスがあったりするんです(たとえば「Font」)。でも、使い方が違ったりする場合もあるので、イチイチ目的のクラスを調べるのが大変なんです。たとえば、「Java Font」ってしらべても「awt」のほうがトップで表示され、「JavaFX」のドキュメンテーションが表示されないんです。だから、やり直して、「JavaFX font」って調べなおすんです。また、エラーが表示されて、原因が間違ったライブラリのimport文(「import javafx.scene.text.Font」じゃなく、「import java.awt.Font」)であったりすると少しうんざりしちゃいます。まあそれだけです。
説明
指定した文字列を一斉にフォルダ内のファイルから除去するソフトです。サブフォルダを含めるというオプションもあり、これらの選択値は「設定→デフォルト設定」から選択できます。設定はXMLファイルに保存されます。
動作環境
Windows(確認済み)、Linux(Ubuntuで確認済み)、Macintosh(未確認)。すんません、Java 8 以降をダウンロードしていないと動きません。Ubuntuだと
sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
を実行して、Java 8をダウンロードしてください。
こんなことができます
写真フォルダ内の写真のファイル名からすべて「DSC」や「PIC」を外す、一斉にファイル名からホワイトスペース「 」やアンダースコア「_」をなくす、などなど。
使用方法
まず、まとめて名称変更したいファイルが集まっているフォルダを選択します。次に、サブフォ ルダを含める場合はチェックボックスをチェックし、「該当ファイル表示」を押し、変更が適応されるファイルを表示します。最後に「実行」を押せば、名称変 更がファイルに適応されます。除去したい文字列はwordlist.ini内で改行して区切って記述してください。
wordlist.iniの記述例:
#一番上の行はあけておいてください。除去したい文字列は以下に改行して区切って記述してください。
abc
def
この場合、”abc123.jpg”は”123.jpg”に、”definitionabcd.txt”は”initiond.txt”になります。
Beta版との違い
・高速化(ファイルの読み取りにはjava.nio.file.DirectoryStreamをつかっているため、速い。)
・デフォルトフォルダなどの設定が保存できる
・マルチスレッド化
・Beta版では大量のファイルを読み込むときは読み込みが終わるまで画面がフリーズしたが、Ver1.0ではそうならない
・読み込み中、名称変更中はプログレスバー(ProgressBar)を表示
・ファイルやフォルダにアクセス権限がないときはテキストエリアにそのことを示すエラーが表示される
・その他のエラーも表示するようになった
今後:なんかバグがあったら直そうと思います
後から発覚したバグ(次のバージョンで修正されます)
・「フォルダ選択」をクリックした後、結局選択せずに「該当ファイル表示」をクリックするとNullPointerExceptionエラーになる。
このソフトが起こしうるいかなる損害も責任を負いかねます。同意の上、ダウンロードしてください。
指定文字列除去ソフト(Ver 1.0):ダウンロード
↓BatchRename V3.0 を公開しました。↓