Skip to main content
Jirosanjp
Inspiring
2月 25, 2024 10:51 午後 UTC
解決済み

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

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

 

MacOS Ventura13.6.4

Bridge20241 4.0.2.191

    このトピックへの返信は締め切られました。
    Ten A
    Ten A解決!
    Community Expert
    2月 28, 2024 2:24 午後 UTC

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

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

    返信数 6

    Ten A
    Community Expert
    Community Expert
    2月 28, 2024 1:36 午前 UTC
    これはどこかでスクリプトなんかを書かないとだめでしょうね。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
    Jirosanjp作成者
    Inspiring
    2月 28, 2024 12:58 午後 UTC

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

    翻訳
    Ten A
    Community Expert
    Ten ACommunity Expert解決!
    Community Expert
    2月 28, 2024 2:24 午後 UTC

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

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

    翻訳
    akatsuki_obana
    Community Expert
    Community Expert
    2月 26, 2024 12:57 午前 UTC

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

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

    翻訳
    Jirosanjp
    Jirosanjp作成者
    Inspiring
    2月 27, 2024 8:56 午後 UTC

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

    翻訳