Skip to main content
Jirosanjp
Inspiring
February 25, 2024
Answered

Bridge ファイル名をバッチで変更で画像をアトランダムに並べたい

  • February 25, 2024
  • 2 replies
  • 1063 views

Bridge ファイル名をバッチで変更で画像を「アトランダム」に並べたいのですが、できるでしょうか?  手作業で変更するには大量すぎる画像なので、乱数などを画像に割り当てて毎回並び替えしたいのですが。どなたか良い方法ご存知ありませんでしょうか?

 

MacOS Ventura13.6.4

Bridge20241 4.0.2.191

    This topic has been closed for replies.
    Correct answer Ten A

    これ、Apple Scriptじゃないんですね。

    Bridge用のJavaScriptです。このスクリプトをテキストエディタにコピペして「適当な名前.jsx」として保存して、それをBridgeの環境設定のスクリプトのところから開くことができるスクリプトフォルダにコピーするとBridgeのツールメニューの一番下に追加されます。あとはBridgeで対象を選択してメニューから実行すればOKです。

    2 replies

    Ten A
    Community Expert
    Community Expert
    February 28, 2024
    これはどこかでスクリプトなんかを書かないとだめでしょうね。Finder上でAppleScriptでもいいんですけど、Bridge用にJavaScriptを書くと以下のようになります。
     
    function AddRandomRename() 
    {
    this.menuID = "randomRename";
    this.menuCommandID = "RandomRename";
    }
    
    AddRandomRename.prototype.run = function() 
    {
    var retval = true;
    if (!this.canRun()) 
    {
    retval = false;
    return retval;
    }
    var randrename = new MenuElement("command", "Random Rename", "at the end of Tool", "RandomRename");
    randrename.onSelect = function () 
    { 
    var tg = app.document.selections;
    for (var i=0;i<tg.length;i++)
    tg[i].name = Math.floor(Math.random()*1000).toString() + i.toString()+"."+tg[i].name.split(".").pop();
    return;
    }
    }
    
    AddRandomRename.prototype.canRun = function() 
    {
    if (BridgeTalk.appName == "bridge") 
    {
    if ((MenuElement.find(this.menuID)) 
    && (MenuElement.find(this.menuCommandID))) 
    {
    alert("menu item aleady exist...");
    return false;
    }
    return true;
    }
    return false;
    }
    
    new AddRandomRename().run();
    
     
    Bridgeは自前でスクリプトを実行する仕組みを持たないので、このスクリプトをStartup Scriptsフォルダに投入します。ツールメニューの一番下に表示されますから、リネームしたいファイルを選択してメニューから実行します。
    Jirosanjp
    JirosanjpAuthor
    Inspiring
    February 28, 2024

    アドバイスありがとうございます。小生Applescriptをよく理解しておりません。一応スクリプトエディタを立ち上げJavascriptにしてコピーして実行させたところ「エラー」なってしまいました。どこがいけないのでしょうか?

    Jirosanjp
    JirosanjpAuthor
    Inspiring
    February 29, 2024

    これ、Apple Scriptじゃないんですね。

    Bridge用のJavaScriptです。このスクリプトをテキストエディタにコピペして「適当な名前.jsx」として保存して、それをBridgeの環境設定のスクリプトのところから開くことができるスクリプトフォルダにコピーするとBridgeのツールメニューの一番下に追加されます。あとはBridgeで対象を選択してメニューから実行すればOKです。


    ありがとうございます。Bridge2024>Startup Scripts にbridge.jsxの名前で入れて起動させて、ツール>Random Renemeが出来ていました。こんなことができるのですね。これで解決しました!

    akatsuki_obana
    Community Expert
    Community Expert
    February 26, 2024

    思いつきで実際に試していませんが…

    新しいファイル名を「ファイル変更日時」→「ミリ秒」に変更すれば、かなりランダムな数値が生成されると思います。これで並び替えをすればランダムな並び替えができそうですがいかがでしょう?

    Jirosanjp
    JirosanjpAuthor
    Inspiring
    February 27, 2024

    ありがとうございます。やってみましたが、どうしても時間ごとに並んでしまうので思っているのとは違うようです。