Amazonで商品を見るセール会場へ

Photoshopスクリプト(jsx)│レイヤー名の前に文字を追加する方法

Photoshopのデータ整理やLive2Dの素材分けに役立つ、レイヤー名の前に文字を追加する方法を紹介します。

選択したレイヤー名を一括で変更できるため、作業効率化に役立ちます。

2026年10月19日に、Photoshop 2026(27.11.0)とWindows 11 Proで記事のコードを実行し、レイヤー名がどう変わるかを確かめました。

背景レイヤーを一緒に選んで実行すると、選んでいない別のレイヤーの名前が変わりました。

2026年10月20日にコードを直し、背景レイヤーを一緒に選んでも、選んだレイヤーの名前だけが変わるようにしました。

詳しくは「Photoshop 2026で実行した結果」にまとめています。

目次

スクリプトを使用するメリット

  • 選択したレイヤーの名前を一括で変更できる
  • 「塗り_」「影_」などの接頭辞をまとめて付与できる
スポンサーリンク

レイヤー名の前に文字を追加する方法

Photoshopの他の操作方法は、まとめ記事から確認できます。

  1. 実行前にPSDを複製してください。背景レイヤーを選ぶと通常レイヤーに変わり、再実行すると接頭辞が重なります。複数選択も実行後は保持されません。これらを確認してから、下記のコードをテキストエディタなどに貼り付けて保存します。

RenameLayerPrefix.jsx

//@target photoshop;
app.bringToFront();
if (documents.length) {
    var prefix = "塗り_"
    var selLayers = getSelectedLayersIdx();
    var selLayerIDs = [];
    for (var a in selLayers) {
        selLayerIDs.push(getLayerIDByIndex(selLayers[a]));
    }
    for (var a in selLayerIDs) {
        selectLayerByID(selLayerIDs[a]);
        activeDocument.activeLayer.name = prefix + activeDocument.activeLayer.name;
    }
}

function getLayerIDByIndex(index) {
    var ref = new ActionReference();
    ref.putIndex(charIDToTypeID("Lyr "), index);
    return executeActionGet(ref).getInteger(stringIDToTypeID("layerID"));
};

function selectLayerByID(id, add) {
    var ref = new ActionReference();
    ref.putIdentifier(charIDToTypeID("Lyr "), id);
    var desc = new ActionDescriptor();
    desc.putReference(charIDToTypeID("null"), ref);
    if (add) desc.putEnumerated(stringIDToTypeID("selectionModifier"), stringIDToTypeID("selectionModifierType"), stringIDToTypeID("addToSelection"));
    desc.putBoolean(charIDToTypeID("MkVs"), false);
    try {
        executeAction(charIDToTypeID("slct"), desc, DialogModes.NO);
    } catch (e) {}
};

function getSelectedLayersIdx() {
    var selectedLayers = new Array;
    var ref = new ActionReference();
    ref.putEnumerated(charIDToTypeID("Dcmn"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
    var desc = executeActionGet(ref);
    if (desc.hasKey(stringIDToTypeID('targetLayers'))) {
        desc = desc.getList(stringIDToTypeID('targetLayers'));
        var c = desc.count
        var selectedLayers = new Array();
        for (var i = 0; i < c; i++) {
            try {
                activeDocument.backgroundLayer;
                selectedLayers.push(desc.getReference(i).getIndex());
            } catch (e) {
                selectedLayers.push(desc.getReference(i).getIndex() + 1);
            }
        }
    } else {
        var ref = new ActionReference();
        ref.putProperty(charIDToTypeID("Prpr"), charIDToTypeID("ItmI"));
        ref.putEnumerated(charIDToTypeID("Lyr "), charIDToTypeID("Ordn"), charIDToTypeID("Trgt"));
        try {
            activeDocument.backgroundLayer;
            selectedLayers.push(executeActionGet(ref).getInteger(charIDToTypeID("ItmI")) - 1);
        } catch (e) {
            selectedLayers.push(executeActionGet(ref).getInteger(charIDToTypeID("ItmI")));
        }
        var vis = app.activeDocument.activeLayer.visible;
        if (vis == true) app.activeDocument.activeLayer.visible = false;
        var desc9 = new ActionDescriptor();
        var list9 = new ActionList();
        var ref9 = new ActionReference();
        ref9.putEnumerated(charIDToTypeID('Lyr '), charIDToTypeID('Ordn'), charIDToTypeID('Trgt'));
        list9.putReference(ref9);
        desc9.putList(charIDToTypeID('null'), list9);
        executeAction(charIDToTypeID('Shw '), desc9, DialogModes.NO);
        if (app.activeDocument.activeLayer.visible == false) selectedLayers.shift();
        app.activeDocument.activeLayer.visible = vis;
    }
    return selectedLayers;
};

付ける文字は、コードの4行目 var prefix = "塗り_" で決まっています。

ほかの文字を付けたいときは、この行の 塗り_ の部分を書き換えて保存します。

背景レイヤーを選んだまま実行すると、背景は「塗り_背景」という通常のレイヤーに変わります。

2026年10月19日までのコードでは、このとき、ほかに選んだレイヤーの代わりに1つ下のレイヤーの名前が変わっていました。

2026年10月20日に直したコードでは、ほかに選んだレイヤーの名前が正しく変わります。

  1. RenameLayerPrefix.jsxを以下のフォルダに保存します。
C:\Program Files\Adobe\Adobe Photoshop CC\Presets\Scripts\

上のパスは古い版の表記です。

Photoshop 2026(Windows)では、C:\Program Files\Adobe\Adobe Photoshop 2026\Presets\Scripts にこのフォルダーがあります。

2026年10月の確認では、このフォルダーへの配置と再起動は試していません。

  1. Photoshopを再起動します。

STEP.2 スクリプトを実行

  1. [ファイル] → [スクリプト] → [RenameLayerPrefix]を選択します。
  2. 選択中のレイヤー名に指定の文字が追加されます。

実行する前に、名前を変えたいレイヤーをレイヤーパネルで選んでおきます。

Scriptsフォルダーに置かなくても、[ファイル]→[スクリプト]→[参照…]で保存したファイルを選べば実行できました。

Photoshopのファイルメニューでスクリプトを開き、サブメニューの一番下に参照がある画面
2026-10-19撮影。Adobe Photoshop 2026 (27.11.0)、Windows 11 Pro (10.0.26200)。[ファイル]→[スクリプト]→[参照…]。保存したスクリプトのファイルを選んで実行する。

通常の実行では確認の窓や完了の表示は出ず、選んでいたレイヤー名に接頭辞が付きます。名前のほかに選択状態も変わり、背景を含めた場合は通常レイヤーへ変わる点に注意してください。

文書を開いていないときは、何も起きませんでした(警告も出ません)。

さらに便利に使う方法(ショートカット設定)

  1. [編集] → [キーボードショートカット]を開きます。
  2. 対象を[アプリケーションメニュー]にし、[ファイル]内の[RenameLayerPrefix]を探します。先にScriptsフォルダーへの配置と再起動を済ませ、通常のメニューに名前が表示されることを確認してください。
  3. ショートカット欄に使いたいキーを入力し、既存の割り当てとの競合がないか確認します。競合先の操作も使う場合は、別のキーを選んでください。
  4. 変更したショートカットセットを保存し、複製したPSDでキーを押して実行結果を確認します。繰り返すと接頭辞が重なるため、確認のためだけに同じレイヤーへ連続実行しないでください。

Photoshop 2026で実行した結果

2026年10月20日に、コードを直しました。

背景レイヤーを一緒に選ぶと、選んでいない別のレイヤーの名前が変わる不具合がありました。

この節の2026年10月19日の結果は、直す前のコードで確かめたものです。

2026年10月19日に、Photoshop 2026(27.11.0)とWindows 11 Proで、直す前の記事のコードを書き換えずにRenameLayerPrefix.jsxとして保存し、[ファイル]→[スクリプト]→[参照…]から5回実行しました。

練習用のファイルと、レイヤーを選んだ状態は別のスクリプトで用意したので、その部分は確認に含めていません。

レイヤー名・選択・表示・ロック・ヒストリーは、実行の前後にスクリプトで読み取って比べました。

選んだレイヤーの名前の前に「塗り_」が付く

レイヤーパネルの実行前と実行後を並べた画像。線画、影、ロック、グループ髪の名前の前に塗り_が付き、色と目とグループの中の前髪と後ろ髪は変わらない
2026-10-19撮影。Adobe Photoshop 2026 (27.11.0)、Windows 11 Pro (10.0.26200)。背景レイヤーのある文書で、線画・影(非表示)・ロック(すべてロック)・グループ髪の4つを選んで実行した前後のレイヤーパネル。パネルに全行が入らないので2回撮って点線でつないだ(一番下の背景は省略)。

背景レイヤーのある文書で、「線画」「影」「ロック」とグループ「髪」の4つを選んで実行しました。

4つとも名前の前に「塗り_」が付き、選んでいない「色」「目」は変わりませんでした。

非表示の「影」は非表示のままでした。

すべてをロックした「ロック」も名前が変わり、ロックはそのまま残りました。

グループは名前だけが変わり、中の「前髪」「後ろ髪」は変わりませんでした。

実行後は、選んでいたうちパネルで一番上の「塗り_髪」だけが選ばれた状態になりました。

ヒストリーには「名前の変更」が4つ積まれたので、元に戻すときはその数だけさかのぼります。

直す前のコードは、背景レイヤーを一緒に選ぶと別のレイヤーの名前が変わった

レイヤーパネルの実行前と実行後を並べた画像。背景と前髪を選んで実行すると、背景は塗り_背景という鍵の無いレイヤーになり、前髪ではなく後ろ髪が塗り_後ろ髪に変わる
2026-10-19撮影。Adobe Photoshop 2026 (27.11.0)、Windows 11 Pro (10.0.26200)。背景レイヤーとグループの中の「前髪」を選んで実行した前後のレイヤーパネル。背景は通常のレイヤーに変わり、名前が変わったのは「前髪」ではなく1つ下の「後ろ髪」だった。

続けて同じ文書で、背景レイヤーとグループの中の「前髪」の2つを選んで実行しました。

背景は「塗り_背景」になり、鍵のアイコンが消えて通常のレイヤーに変わりました。

ヒストリーには「名前の変更」の前に「レイヤーを作成」が1つ積まれました。

選んでいた「前髪」は変わらず、1つ下の「後ろ髪」が「塗り_後ろ髪」になりました。

直す前のコードは、選んだレイヤーの位置を先に番号で覚えてから、下から順に名前を変えていました。

最初に背景が通常のレイヤーに変わったことで番号の数え方が変わり、残りのレイヤーが1つ下にずれたと考えられます。

直したコードは、名前を変える前に、覚えた番号をレイヤーごとのIDに置き換えておき、IDでレイヤーを選んで名前を変えます。

背景の通常レイヤー化による位置番号のずれを避けるため、残りの対象は保存したIDで選択します。ただし、selectLayerByID内の選択エラーは空のcatchで処理され、その後の改名は続きます。選択に失敗した場合は、直前のアクティブレイヤーを改名する可能性があるため、実行後は選択対象以外の名前も元PSDと比較してください。この例外発生時の動作は実機では未確認です。

2026年10月20日に、直したコードを同じ練習ファイルで実行しました。

別のスクリプトから実行して確かめています([参照…]からは実行していません)。

背景と「前髪」を選んで実行すると、「塗り_背景」と「塗り_前髪」になり、「後ろ髪」は変わりませんでした。

背景と「色」「後ろ髪」「目」の4つを選んだときも、背景だけを選んだときも、選んだレイヤーだけに「塗り_」が付きました。

ヒストリーに「レイヤーを作成」が1つ積まれ、背景が通常のレイヤーに変わるのは、直す前と同じです。

背景を選ばない実行(4つを選んだ例、背景レイヤーが無い文書の例)の結果も、直す前と同じでした。

同じレイヤーにもう一度実行すると「塗り_」が重なる

実行後に選ばれていた「塗り_後ろ髪」の1つだけを選んだまま、もう一度実行しました。

名前は「塗り_塗り_後ろ髪」になりました。

すでに同じ文字が付いているかを確かめる処理は無いので、実行した回数だけ重なります。

レイヤーを1つだけ選んだ状態でも、問題なく名前が変わりました。

背景レイヤーが無い文書では、一番下のレイヤーも正しく変わる

背景レイヤーが無い文書のレイヤーパネルの実行前と実行後。一番下の体と一番上の頭が塗り_体と塗り_頭に変わり、腕と脚は変わらない
2026-10-19撮影。Adobe Photoshop 2026 (27.11.0)、Windows 11 Pro (10.0.26200)。背景レイヤーが無い文書で、一番下の「体」と一番上の「頭」を選んで実行した前後のレイヤーパネル。

背景レイヤーが無い文書で、一番下の「体」と一番上の「頭」の2つを選んで実行しました。

「塗り_体」と「塗り_頭」になり、間の「腕」「脚」は変わりませんでした。

確かめていないこと

Scriptsフォルダーへの配置と再起動、メニューに出るスクリプト名、ショートカットの割り当て、prefix を書き換えた場合、Shiftキー・Ctrlキーのクリックで選んだ状態からの実行、アートボードのある文書、Mac版と他の版は確かめていません。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

レイヤーを操作するスクリプトは、ほかにもあります。

スポンサーリンク

まとめ

  • 選択したレイヤー名の前に文字を一括追加できる
  • Live2D用パーツ分けやPhotoshopのデータ整理を効率化できる
  • ショートカットを設定するとさらに素早く実行できる

Photoshopのレイヤー整理を効率化するために、ぜひこのスクリプトを活用してみてください。

よくある質問:レイヤー名の前に文字を追加する

このスクリプトでは何ができますか?

Photoshopで、選択したレイヤー名の前に文字を一括で追加できます。データ整理やLive2Dの素材分けに役立ちます。

2026年10月19日の確認では、非表示のレイヤー、すべてをロックしたレイヤー、グループも、選んでいれば名前が変わりました。

グループを選んだときは、グループの名前だけが変わり、中のレイヤーは変わりません。

どんなメリットがありますか?

選択したレイヤーの名前を一括で変更できます。「塗り_」「影_」などの接頭辞をまとめて付与できるので、レイヤー整理を効率化できます。

追加する文字はどこで指定しますか?

記事に掲載しているコード内で指定します。記事のコードでは「塗り_」が例として設定されているので、付けたい接頭辞に合わせて書き換えてから使ってください。

コードの4行目 var prefix = "塗り_" の、引用符の中を書き換えます。

スクリプトはどのように導入しますか?

記事のコードをテキストエディタなどに貼り付けてRenameLayerPrefix.jsxとして保存し、記事で案内しているフォルダに保存します。保存後にPhotoshopを再起動してください。

Photoshop 2026(Windows)のフォルダーは C:\Program Files\Adobe\Adobe Photoshop 2026\Presets\Scripts です。

フォルダーへの配置は未確認です。10月19日の旧コードは[参照…]から実行し、10月20日の修正版は別のスクリプトから実行しました。修正版を[参照…]から実行する操作は未確認です。

どうやって実行しますか?

対象のレイヤーを選択し、[ファイル] → [スクリプト] → [RenameLayerPrefix] を選択します。選択中のレイヤー名に、指定の文字が追加されます。

2026年10月19日には、[ファイル]→[スクリプト]→[参照…]から選んで実行できることを確かめました。

ショートカットキーで実行できますか?

Scriptsフォルダーへの配置と再起動後、[編集]→[キーボードショートカット]で対象を[アプリケーションメニュー]にし、[ファイル]内の[RenameLayerPrefix]にキーを割り当てます。既存キーとの競合を確認し、セットを保存してください。[参照]で一度実行するだけではメニューに登録されません。

2026年10月の確認では、ショートカットの割り当ては試していません。

スクリプトのコードはどこで確認できますか?

記事内に掲載しているほか、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。

背景レイヤーを選んで実行するとどうなりますか?

背景は「塗り_背景」という通常のレイヤーに変わります。

2026年10月19日までのコードでは、背景と一緒に選んだ「前髪」は変わらず、1つ下の「後ろ髪」の名前が変わりました。

2026年10月20日に直したコードでは、背景と一緒に選んだ「前髪」の名前が変わります。

実行した後、レイヤーの選択はどうなりますか?

コードは対象を1つずつ選択し、元の複数選択を復元しません。最後に処理したレイヤーだけが選択され、今回の確認ではパネルで一番上の対象が残りました。

2026年10月19日に4つ選んで実行したときも、残ったのは一番上のグループだけでした。

メニューやショートカットの表示が記事と違う場合はどうすればよいですか?

Photoshopのバージョンやキーボード設定によって、メニューの名称や配置、ショートカットが変わることがあります。最新の操作手順は、Adobeの公式情報で確認してください。

次に学ぶ・作業環境を選ぶ

学習を続けたい方や、作業環境を整えたい方は、目的に合うガイドをご覧ください。

Photoshopのおすすめ書籍

動作要件とPCの確認項目

周辺機器の優先度

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次