siteTitleImage

ファイル名を一括変更するのに手放せない「Flexible Renamer」でファイル名をランダムにしてみる

Author Image

Enzo

· 2015/07/27 · 9 min read
TopImage
INDEX

    こんにちは、えんぞーです。

    あっついですね~、家の外でミンミンゼミが元気よく鳴いてします。

    風流だなって思うのは毎年最初だけですが、先日(夕方)蜩(ひぐらし)の鳴き声が聞こえてきた時は何やら切なくなりましたw

    さて、今回はファイルの名前を一括で変更するときのお話しです。

    仕事でもプライベートでも大量のファイルの名前を変えたいって思うときあると思いますけど、そんな時におすすめなツールを今更感たっぷりでご紹介。

    Windows でのファイルのリネームは「Flexible Renamer」がおすすめ

    大量のファイルをリネームしようとした場合、検索すると大体これに行き着くのでは無いかと思うくらいメジャーなソフトです。

    私も昔はバッチファイル書いたり簡易的なプログラム作ったりと色々やって来ましたけど、このソフトを見つけてからはずっとこればっかり使っています。

    一番大きな理由としては**「正規表現」**を使ってリネーム出来るから・・・なんですが、「正規表現ってなにそれ、美味しいの?」という所から入ってしまうと話が長くなるので簡単な例だけ。

    こんな感じだよっていう簡単な例

    (一般画像)test_file01.jpg

    上記のようなファイル名のファイルが複数あったとします。

    例えば(一般画像)という部分が邪魔だから消したい・・という場合、消したい文言を指定して置換すれば消えます。

    この場合、全部が同じ(一般画像)であれば問題ないのですが**( )**に囲まれている文字列がファイルごとに違った場合。

    (一般画像)test_file01.jpg
    (一般的じゃない画像)test_file02.jpg
    (危ない画像)test_file03.jpg
    (変な画像)test_file04.jpg

    こんな感じだった場合だと先ほどの方法では文言の数だけ同じ事をしないといけません。

    こんな時に役立つのが正規表現です。(ワイルドカードでやれば?ってツッコミは今回無しでお願いしますw)

    上記の場合であれば(.+?)と正規表現で指定してあげます。

    すると、カッコの中の文字列がなんであれ対象になります。

    う~ん・・・こう書いてしまうと余計ややこしくなるかも知れませんが・・・Flexible Renamer の画面で見るとこんな感じです。

    screenshot_02

    ちなみに、ここで出している例ではかっこは全角カッコ()なのでそのまま書いていますが、半角カッコ()だった場合は(.+?)こう指定します。

    これは半角カッコをそのまま正規表現として書いてしまうと正規表現のルール(グループ化)だと思われてしまうので、**「このカッコは文字列ですよ」**と教えてあげるためにそれぞれのカッコの前にバックスラッシュ(¥マーク)を付けてあげるというルールです。

    ザックリしすぎていますけど、ふわっとでも正規表現って便利なんだと言うことが伝われば・・・。

    今回の例は単純なものでしたけど、パターン次第で様々なルールを組み込むことが出来ます。

    興味が出た人は調べてみると色々出てきますので調べてみてください。

    やりたいことがはっきりしているのであれば、「正規表現 サンプル」とかで検索すると色々なケースの情報が出て来ます。

    Flexible Renamer でファイル名をランダムにする

    さて、本題w

    Flexible Renamer はスクリプトに対応しているのでそれを使ってファイル名をランダムに付けて見ようという趣旨。

    まぁ、これについても今更感がパないですが最近自分で使う機会があったのでついでに。

    VBscript と Jscript が使えるようですが今回は VBscript にします。screenshot_03

    スクリプトを使用するには上記のスクリプトの部分にチェックを入れます。

    その後、「スクリプトの編集」を選びましょう。

    するとメモ帳が立ち上がるかと思いますので下記のコードをそのまま貼り付けて下さい。

    Function RandomName(number)
    Dim chars
    Dim str
    Dim i
    
     chars = "0123456789" _
      & "abcdefghijklmnopqrstuvwxyz"
    
     str = ""
    
     Randomize
     For i = 1 To number
      str = str & Mid(chars, Int(Rnd * Len(chars) + 1), 1)
     Next
    RandomName= str
    
    End Function
    

    貼り付けたら保存して閉じて OK です。

    これでランダムなファイル名を作るスクリプトは準備出来たので後は実際にリネームしてみます。

    検索部分には「.*(.jpg|.png)」を指定して jpg と png のファイルだけを対象にしています。(今回 png 無いですがw)

    置換部分には先ほど準備した関数名を書きます。カッコにかいてある 15 の数字は桁数(何文字のランダムファイル名にするか)です。

    その後に付いているのはファイルの拡張子になります。(検索部分で該当したものが入ります)

    この時点でうまく言っていれば下の画像の様に新しい名前のカラムにランダムなファイル名が出ているはず。

    screenshot_05

    後は問題なければ「リネーム」ボタンを押してリネームしてしまえば完了です。

    ※検索部分の正規表現は一般的なファイル名を想定したものになるので、特殊なケースの場合はそれに合わせて指定する必要があるので注意して下さい。

    とりとめのないまとめ

    ファイルのリネームは仕事ではもちろんですが、プライベートでも写真の整理等で使う機会が多いと思うので「Flexible Renamer」オススメです^^

    さすがにファイル名をランダムにする機会はあまり無いかと思いますけど・・・・w

    他にもMp3のタグだったり連番オブジェクト作成等の機能もありますね、私は使ったこと無いのですけど。

    # Windows # 設定

    Comment