rubyでサクっとファイル名置換スクリプト

ダウンロードした画像を整理する際にファイル名がバラバラで選別しにくい事ってよくありますよね。

サーバによってランダムにファイル名が付けられていると画像ビューアで取捨選択する際に並びが揃っていないので高速に処理できない。そこでプログラミング。

準備

  • rubyのインストール。irbが実行できること。
  • 画像を全部ダウンロードしておく。
  • ダウンロードに使ったサムネイル一覧のページを開いておく。
  • rubyjavascript、DOMの知識をフル回転。

方針

  • ファイル名の変更はrubyのFile.renameがよさそう。
  • 変更前と変更後の配列を作ってeachで回せばできそう。
  • ファイル名の配列作成はjavascriptで行う。
  • 配列の形式は以下のようにする。
[["asf82msd.jpg","M1000.jpg"],["sfmx9wr.jpg","M1001.jpg"]]

ソース

javascript:
r = [];
Array.forEach(document.querySelectorAll('.thumbImg a'),function(e){
  a = /([^/]+)$/.exec(e.href.trim())[1];
  b = e.parentNode.parentNode.parentNode.querySelector('.thumbTitle span').textContent;
  r.push([a,b])
});
prompt("以下をコピペしてirbで実行",JSON.stringify(r)+".each{|e|File.rename(e[0],e[1])if File.exist?e[0]}");
void(0)

使い方

  1. コマンドプロンプトでダウンロードした画像があるフォルダに移動しておく。
  2. 上のスクリプトを、サムネイル一覧のページで実行。
  3. プロンプトが表示されるので内容をコピー。
  4. irbを起動してコピーした内容を貼り付けて実行。

置換完了!


以上の研究結果をこちらのグリモンに実装した。
albertayu773 - direct link for Greasemonkey