10年ほど前から、楽しく自動化を始めて、仕事にしています。

フォトショップの複数のバッチをジャバスクリプトで一括処理

フォトショップの機能だけでは、複数のバッチを一度にかけることができませんが、ジャバスクリプトを使うと一気に処理ができます。

フォトショップで適当なアクションを作ります。

図はアクションセット名が
“設定 1”

アクション名が
“アクション 1”
“アクション 2”
のものです。

あらかじめフォルダを作っておきます。
『元』『グレイ』『解像度違い』

『元』フォルダに処理をするtifをいくつか入れます。

サンプルでは、
『元』フォルダにRGBのtifが入っていて、
“アクション 1″でグレースケールになったtifが『グレイ』フォルダに入り、
“アクション 2″で解像度が変更され『解像度違い』フォルダに入ります。

function sample() {

    //フォルダ名の最後に要スラッシュ
    var savePath = "C:/Users/Owner/Desktop/js/";

    //アクションセット名
    var actionSet = "設定 1";

    //処理をするフォルダ
    var inputFolder = Folder(savePath + "元/");

    //書き出しフォルダ名
    var outputFolder = Folder(savePath + "グレイ/");
    var outputFolder2 = Folder(savePath  + "解像度違い/");

    //tifファイルのみ処理する
    var fileList = inputFolder.getFiles("*.tif");

    //バッチ処理のオプションを指定
    var opt = new BatchOptions();

    opt.overrideOpen = false;
    //フォルダー
    opt.destination = BatchDestinationType.FOLDER;
    //実行後の保存先フォルダー
    opt.destinationFolder = outputFolder;
    //“別名で保存” コマンドを省略(V)
    opt.overrideSave = false;
    //ファイル名
    opt.fileNaming = [FileNamingType.DOCUMENTNAMEMIXED, FileNamingType.EXTENSIONLOWER];

    //inputFoldeをバッチ処理1回目 グレー
    app.batch(fileList, "アクション 1", actionSet, opt);

    //実行後の保存先フォルダーを変更
    opt.destinationFolder = outputFolder2;

    //inputFoldeをバッチ処理2回目 解像度違い
    app.batch(fileList, "アクション 2", actionSet, opt);

    alert("処理が終わりました")

}
sample();

基本の動きです。

これをもとに、ファイルは選ぶ方式に変えたり、保存フォルダがない場合は、作ったりなどアレンジができます。

コメント

この記事へのコメントはありません。

ランキング
開発・運営ランキング
にほんブログ村 IT技術ブログへ
にほんブログ村 IT技術ブログ Tipsへ
にほんブログ村 IT技術ブログ JavaScriptへ
にほんブログ村 IT技術ブログ VBAへ
PAGE TOP