Photoshop CC 2019で「レイヤーからファイル…」スクリプトの自動でつく連番をなくす方法

注意>実施されるときはあくまでも事故責任で、元のファイルのバックアップを必ずとってください!

PhotoshopでWebサイト向けの画像などを書き出す際に「レイヤーからファイル…」スクリプトでレイヤー毎にファイルへ一括書き出しすることがよくあります。便利なのですが、標準のスクリプトだと書き出し時に0001などの4ケタの連番がついてきます。レイヤー名が重複しないための措置ですが、これを後から削除するのが地味に面倒だったりするので、「レイヤーからファイル…」スクリプトを変更して使い勝手をよくします。

変更ポイント

  • レイヤ書き出し時の名前「プレフィクス(ダイアログで設定できる任意のテキスト)_0000(4ケタの連番)_レイヤー名」の“_0000(4ケタの連番)”部分をなくして「プレフィクス(ダイアログで設定できる任意のテキスト)_レイヤー名」にする。
  • レイヤがグループ化されていると、「プレフィクス(ダイアログで設定できる任意のテキスト)_0000(4ケタの連番)s_0000(4ケタの連番)_レイヤー名」となるのを「プレフィクス(ダイアログで設定できる任意のテキスト)_レイヤーグループ名_レイヤー名」にする

修正したPhotoshopのバージョンはCC 2019、編集するファイルは
/Application/Adobe Photoshop CC 2015/Presets/Scripts/Export Layers To Files.jsx
です、上記ファイルを任意の場所にコピーしてバックアップを作成後、テキストエディタで開く。

修正箇所は2ヶ所、
●2193行
●2229行
エディタの検索で「fileNameBody +=」を検索すると早いです。

2193行

fileNameBody += "_" + zeroSuppress(i, 4);

をコメントアウト。行頭にスラッシュ2発“//”いれます。

//fileNameBody += "_" + zeroSuppress(i, 4);

これでレイヤー名の前の4ケタの連番が挿入されなくなります。

2229行

fileNameBody += "_" + zeroSuppress(i, 4) + "s";

をコメントアウト。行頭にスラッシュ2発“//”いれます。
これでグループレイヤー名の前の4ケタの連番が挿入されなくなります。

//fileNameBody += "_" + zeroSuppress(i, 4) + "s";

その下に“fileNameBody += “_” + orgObj.layerSets[i].name;”と追加します。

//fileNameBody += "_" + zeroSuppress(i, 4) + "s";
fileNameBody += "_" + orgObj.layerSets[i].name;

追加したスクリプトで、レイヤー名の前にグループレイヤー名を挿入します。

スクリプトを保存します。

スクリプトを元の場所に上書設置して、Photoshopを再起動してテストします。
想定通りに動作しているかお試しください。

Adobe CC の速度アップ〜Macが重いと感じたら

しばらくメインのMacBookProの動作が重くて困ってました。El Capitanにアップデートしたせいか、はたまたSSDが外れなのかと流してましたが、毎日使用するAdobe製品が重いと単純に睡眠時間が削られるので、アクティビティモニターでCPUリソースの利用状況を確認したら、Adobe CC デスクトップアプリ(ツールバーに常駐してるやつ)が100%声のCPU使用率だったので、情報探してみたところこれ、

Mac – Adobe Creative Cloud の「CCXProcess」「CCLibrary」が重い – CPU・メモリを占有

同じ症状だったので、アンインストールしてみました。
んで、ちょっとはマシになったかなーと使っていたら、まだファンはまわってるので、もういちどアクティビティモニターでチェックしたら今度は「CEPHtmlEngine」ってプロセスが100%たたき出してました。これはなんぞやとチェックするとAdobeの各アプリ(現状確認してるのはPhotoshop・Indesign・Illsutrator・Flash)内にあるサポートアプリで、Adobeアプリを複数立ち上げると複数プロセスが起動してそのうち一個が100%越えでリソース使うという迷惑な団体客でした。アクティビティモニターのプロセスから情報を見れば、本体の場所はわかるので、暫定的に各アプリの中のCEPHtmlEngineアプリをリネームして起動しなくしたところ、さくりと安定してファンも回らなくなりました。

もうちょっと総合的に解決したいところですが、CEPHtmlEngineの件はかなり症状が多岐にわたるようで、ややこしいようです。

その後のアップデートで直ったという話と直ってないという話とどっちもあるので、当面は上記の措置で使っていきます(特にAdobeのクラウドは使ってないのでそんなに困らない)。しかしどのアプリも肥大化した感じですねー、マシンのスペックが上がって複雑化してるのでやむを得ないかもしれませんが、日常的に使うアプリそのものがボトルネックになるのは困ったもんです。

Photoshop「レイヤーカンプからファイル…」スクリプトのカスタマイズ

前回の内容に続いてよく使う「レイヤーカンプからファイル…」のスクリプトもカスタマイズして、連番を入れないようにしてしまいます。

修正したPhotoshopのバージョンはCC 2015、編集するファイルは
/Application/Adobe Photoshop CC 2015/Presets/Scripts/Layer Comps To Files.jsx
です、上記ファイルをテキストエディタで開きます。

修正箇所は一カ所、ファイルの191行をコメントアウトします。

var fileNameBody = exportInfo.fileNamePrefix;
fileNameBody += “_” + zeroSuppress(compsIndex, 4);
fileNameBody += “_” + compRef.name;

var fileNameBody = exportInfo.fileNamePrefix;
//fileNameBody += “_” + zeroSuppress(compsIndex, 4);
fileNameBody += “_” + compRef.name;

以上の修正で、書き出しファイルに連番がつかなくなります。

Photoshop「レイヤーからファイル…」スクリプトのカスタマイズ

PhotoshopでWebサイト向けの画像を書き出すときに「レイヤーからファイル…」機能で一括書き出しができるのは便利ですが、書き出し時に強制的に連番がつけられてしまう点が不満でした。大量に書き出すときに連番の削除も手間なので、元のスクリプトを修正することで解決。

修正したPhotoshopのバージョンはCC 2015、編集するファイルは
/Application/Adobe Photoshop CC 2015/Presets/Scripts/Export Layers To Files.jsx
です、上記ファイルをテキストエディタで開きます。

修正箇所は一カ所、ファイルの1066行をコメントアウトします。

var fileNameBody = fileNamePrefix;
fileNameBody += “_” + zeroSuppress(i, 4);
fileNameBody += “_” + layerName;

var fileNameBody = fileNamePrefix;
// fileNameBody += “_” + zeroSuppress(i, 4);
fileNameBody += “_” + layerName;

以上の修正で、書き出しファイルに連番がつかなくなります。