Amazon10/19まで!プライム感謝祭開催中!セール会場へ

After Effects│.psd/.aiレイヤーのフッテージパスをまとめて修正する方法

PSD・AIをレイヤー単位で読み込んだ素材も、まずAEのフッテージ置換で正しいファイルへ再リンクできるか確認します。

この記事では、それで対象を直せない場合に保存コピーの.aepx内のパスを確認する方法を扱います。

この記事では、プロジェクトをテキスト形式で保存し、記述されているフッテージパスを直接テキスト置換して修正する手順を解説します。

2026年10月16日に、記事のVBScriptと配布ZIPを、After Effectsが保存した.aepxでも動く版に差し替えました。

それより前に配布していた版は、After Effectsが保存した.aepxでは置換せずに止まっていました。

まず、AE標準の再リンクで直せる例です。

移動したPSDのレイヤーが見つからないときの画面です。

「このプロジェクトを最後に保存してから、3個のファイルが見つかりません」という警告が出ました。

After Effectsで移動したPSDのレイヤー3件が見つからないという警告
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

コンポジション「LayeredSource229」には、OrangeBox229、BlueBackground229、「レイヤー 1」の3つのレイヤーがありますが、コンポジションには何も表示されていません。

PSDを再リンクした後の画面です。

「2 個の不明だったアイテムが見つかりました」と表示されました。

After EffectsでPSDの再リンクにより残り2件のレイヤーが自動発見された通知
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

通知を閉じると、コンポジションに青い背景とオレンジの四角が戻りました。

プロジェクトパネルの「LayeredSource229 レイヤー」フォルダーには、3件のPSDが並んでいます。

After EffectsでPSDレイヤーのパス修正後に元のコンポジション表示が復旧した結果
2026-10-13撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。実機画面、原寸保存。

これは、撮影用に作った3レイヤーのPSDで、標準の再リンクを試した画面です。

.aepxの書き換えや、記事のVBScriptで再リンクした結果ではありません。

目次

.psd/.aiレイヤーの素材パスをまとめて修正する手順

.aepx(XML形式)でプロジェクトを保存する

  1. After Effectsのメニューバーから「ファイル」→「別名で保存」→「XML 形式でコピーを保存」を選択して保存します。
  2. 拡張子が「.aepx」のファイルとして書き出されます。

Windows 11 Pro(10.0.26200)のAdobe After Effects 26.5.0(Build 89、日本語表示)では、「XML 形式でコピーを保存」は「ファイル」→「別名で保存」の中にありました。

After Effectsの「ファイル」メニューの「別名で保存」に「XML 形式でコピーを保存」が表示された画面
2026-10-16撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。「ファイル」→「別名で保存」を開き、「XML 形式でコピーを保存」が表示された実機画面(ウィンドウのタイトルバーのみ切り取り)。

.aepxファイル内のパスを編集する

  1. 任意のテキストエディタで.aepxファイルを開きます。
  2. エディタの検索機能を使い、フッテージパスが記述されている箇所を特定します。
<fileReference filetype="38425053" fullpath="C:\Users\namae\Desktop\test.psd" platform="Win" relativeAscendCountFromProject="1" relativeIndexIntoFullpath="24"/>
  1. 置換機能を使用して、旧パスを新しい素材の保存先パスに一括置換します。
// 変更前
C:\Users\namae\Desktop\test.psd

// 変更後
C:\Users\namae\Desktop\新しいフォルダー\test.psd

元の.aepと.aepxは保持し、編集した.aepxを別名保存します。

引用符や&などを含むパスはXMLの属性値としてエスケープし、After Effectsで開いて各レイヤーのリンクを確認します。

UTF-8のAEPXを別名出力するVBScript

UTF-8の.aepxを受け取り、fileReferenceのfullpath属性が完全一致する箇所だけを変更するWindows用VBScriptです。

After Effectsが保存した.aepxには、XMLの名前空間(xmlns)が付いています。

2026年10月16日に確かめたAfter Effects 26.5.0の.aepxでも、名前空間http://www.adobe.com/products/aftereffectsが付いていました。

2026年10月16日より前に配布していた版は、fileReferenceを探す1行が名前空間付きの.aepxに対応していませんでした。

そのため、旧パスと完全一致するfullpathが2件あっても1件も見つけられず、No exact double-quoted match, or ambiguous text; no output.と表示して何も出力せずに止まっていました。

下のコードと配布ZIPのrelink-copy.vbsは、この1行だけを名前空間に関係なく探す書き方に直した版です。

引数なし、置換0件、XML不正、既存の出力ファイルがある場合は保存しません。

UTF-8形式のテキスト処理に対応させるため、バッチファイルではなくVBScriptを採用しています。

Option Explicit
Dim fso, inputPath, outputPath, oldPath, newPath
Dim stream, text, doc, nodes, node, count, token, parts, result
oldPath = "C:\practice\old\test.psd"
newPath = "C:\practice\new\test.psd"
If WScript.Arguments.Count <> 1 And WScript.Arguments.Count <> 3 Then
    WScript.Echo "Usage: cscript //nologo relink-copy.vbs input.aepx [oldPath newPath]"
    WScript.Quit 2
End If
Set fso = CreateObject("Scripting.FileSystemObject")
inputPath = fso.GetAbsolutePathName(WScript.Arguments(0))
If WScript.Arguments.Count = 3 Then
    oldPath = WScript.Arguments(1)
    newPath = WScript.Arguments(2)
End If
If LCase(fso.GetExtensionName(inputPath)) <> "aepx" Or Not fso.FileExists(inputPath) Then
    WScript.Echo "An existing .aepx input is required."
    WScript.Quit 2
End If
If oldPath = "" Or newPath = "" Or oldPath = newPath Then
    WScript.Echo "Supply different non-empty paths."
    WScript.Quit 2
End If
If Not fso.FileExists(newPath) Then
    WScript.Echo "New source file does not exist."
    WScript.Quit 2
End If
outputPath = fso.BuildPath(fso.GetParentFolderName(inputPath), fso.GetBaseName(inputPath) & "-relinked.aepx")
If fso.FileExists(outputPath) Or fso.FolderExists(outputPath) Then
    WScript.Echo "Output already exists; nothing overwritten."
    WScript.Quit 2
End If
Set stream = CreateObject("ADODB.Stream")
stream.Type = 2
stream.Charset = "UTF-8"
stream.Open
stream.LoadFromFile inputPath
text = stream.ReadText(-1)
stream.Close
Set doc = CreateObject("Msxml2.DOMDocument.6.0")
doc.async = False
doc.resolveExternals = False
doc.setProperty "ProhibitDTD", True
If Not doc.loadXML(text) Then
    WScript.Echo "Invalid XML or disallowed DTD; no output."
    WScript.Quit 2
End If
Set nodes = doc.selectNodes("//*[local-name()='fileReference' and @fullpath]")
count = 0
For Each node In nodes
    If node.getAttribute("fullpath") = oldPath Then count = count + 1
Next
token = "fullpath=""" & XmlEscape(oldPath) & """"
parts = Split(text, token, -1, 0)
If count = 0 Or UBound(parts) <> count Then
    WScript.Echo "No exact double-quoted match, or ambiguous text; no output."
    WScript.Quit 2
End If
result = Replace(text, token, "fullpath=""" & XmlEscape(newPath) & """", 1, -1, 0)
If Not doc.loadXML(result) Then
    WScript.Echo "Result XML is invalid; no output."
    WScript.Quit 2
End If
stream.Open
stream.WriteText result
stream.SaveToFile outputPath, 1
stream.Close
WScript.Echo "Replaced attributes: " & count & "; wrote a separate -relinked.aepx copy."

Function XmlEscape(value)
    value = Replace(value, "&", "&amp;")
    value = Replace(value, "<", "&lt;")
    value = Replace(value, ">", "&gt;")
    value = Replace(value, """", "&quot;")
    XmlEscape = value
End Function

2026年10月16日に直したのは、次の1行だけです。

以前の版を使っている場合は、この1行を書き換えるか、下の練習用ZIPをダウンロードし直してください。

' 変更前(名前空間付きの.aepxでは0件になる)
Set nodes = doc.selectNodes("//fileReference[@fullpath]")

' 変更後
Set nodes = doc.selectNodes("//*[local-name()='fileReference' and @fullpath]")

スクリプトの注意点

修正版は元ファイルを上書きせず、同じフォルダーの「元名-relinked.aepx」へ出力します。

旧コードの上書き指定2は使いません。

配布版の先頭にあるoldPathとnewPathを、XML内で確認した旧素材と実在する新素材の絶対パスへ変更してから、.aepxをスクリプトへ渡します。

次はコンソールから3引数で同じ指定をする例です。

cscript //nologo relink-copy.vbs "C:\practice\copy.aepx" "C:\practice\old\test.psd" "C:\practice\new\test.psd"

リンク切れ素材をすばやく検出する方法

プロジェクトパネル上部の検索バーに「見つけられない」と入力して絞り込みます。

.aepxから通常の.aepに戻す手順

After Effectsで.aepxを開き、「ファイル」→「別名で保存」からファイル形式または拡張子を「aep」に変更して保存します。

ファイルサイズの大小だけでは復元成功を判断できません。

.aepとして保存して開き直し、コンポジション・素材参照・レイヤー・必要なフレームが正しいかを確認します。

After Effectsの関連記事は、以下のリンク一覧から確認できます。

リンク切れを一括で再リンクするスクリプトについては、以下の記事を参照してください。

この記事で紹介しているコードは、GitHubのMOTOKI-LLC/cg-method-codeにもまとめています。 修正版は本文下の練習用ZIPを使います。リンク先リポジトリには旧版が含まれるため、同じコードとして扱わないでください。

フッテージ素材の読み込みやパスの修正に関する記事は、ほかにもあります。

原本を保持して置換結果を確かめる練習

練習用に別名保存した.aepxと、移動前後のPSDまたはAIを用意します。

UTF-8のXML内で対象のfileReferenceとfullpathを確認し、同じ旧ファイルを指す属性が何件あるか数えます。

フォルダー名だけの部分一致や、全プロジェクトの文字列置換はしません。

relink-copy.vbsのoldPathとnewPathを編集し、.aepxを渡します。

既存の出力があると停止するので、内容を確認せずに再実行して上書きしません。

成功時は置換した属性数と別名コピーの作成を表示します。

日本語や&を含むパスも属性として保持します。

入力結果切り分け
旧パスの完全一致2件属性2件を置換し別名出力原本の内容が変わらない
旧パスが見つからない出力せず停止XML内の大小文字・引用符・パスを確認
出力名が既存出力せず停止既存コピーを確認する

補助的な相対パス属性やレイヤー対応の情報は書き換えていません。

XMLとして正常でもAEでの再リンク成功を保証するものではないため、コピーをAEで開いてPSD・AIの全対象レイヤーを確認します。

失敗したら編集前の.aepを開き、標準の置換操作へ戻ります。

After Effectsの実際のプロジェクトで確かめた結果(2026年10月16日)

Windows 11 Pro(10.0.26200)のAdobe After Effects 26.5.0(Build 89、日本語表示)で、直した版を実際のプロジェクトに使って確かめました。

BlueとRedの2レイヤーを持つ自作のPSDを、640×360・30fps・3秒のコンポジションとして読み込み、「XML 形式でコピーを保存」で.aepxを作りました。

この.aepxには、移動前のPSDを指すfullpathが2件(BlueとRed)、対象外の別の素材を指すfullpathが1件ありました。

新しいPSDの置き場所には、フォルダー名に日本語と&を含むパスを使いました。

直した版で旧パスと新パスを指定して実行すると、Replaced attributes: 2; wrote a separate -relinked.aepx copy.と表示され、別名の.aepxができました。

直した版のVBScriptが2件のfullpathを置換し、別名の.aepxを作ったと表示したWindows Script Hostのメッセージ
2026-10-16撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。直した版のrelink-copy.vbsで、After Effectsが保存した.aepxの2件のfullpathを置換したときの実機画面。

書き換わったのは対象の2件のfullpathだけで、対象外の素材を指す1件と、それ以外のXMLの文字列は変わっていませんでした。

元の.aepと.aepx、PSDのファイルも変わっていませんでした。

できた.aepxをAfter EffectsでCtrl+O(プロジェクトを開く)から開くと、2つのレイヤーは新しい場所のPSDを参照し、見つからない素材はありませんでした。

対象外の素材、コンポジションとレイヤーの名前、位置、アンカーポイント、スケール、レイヤーの長さは、置き換える前と同じでした。

さらに通常の.aepとして保存し、開き直しても同じ状態でした。

置換した.aepxを通常の.aepに保存して開き直し、BlueとRedの2レイヤーと赤と青の四角が表示されたAfter Effectsの画面
2026-10-16撮影。Adobe After Effects 26.5.0 (Build 89)、Windows 11 Pro (10.0.26200)。直した版で置換した.aepxを開き、通常の.aepに保存して開き直した実機画面(ウィンドウのタイトルバーのみ切り取り)。BlueとRedの2レイヤーと赤と青の四角が表示されている。.aepへの保存と開き直しはスクリプト機能で行った。

1秒の時点の画像を書き出して比べると、置き換える前のプロジェクト、置き換えた.aepx、保存し直した.aepの3つで、すべての画素が一致しました。

通常の.aepへの保存と開き直しはAfter Effectsのスクリプト機能で行ったため、メニューから保存する操作は確認に含めていません。

停止する条件は、コマンドライン(cscript)で25通りの入力を用意して確かめました。

入力結果
引数が0個・2個・4個使い方を表示して停止
.aepx以外の入力、存在しない入力出力せず停止
旧パスか新パスが空、2つが同じ、新しい素材が存在しない出力せず停止
出力先と同じ名前のファイルかフォルダーが既にある出力せず停止(既存の出力も変わらない)
XMLが壊れている、DTDを含む出力せず停止
旧パスが見つからない、文字どおりに一致しない(大文字と小文字の違い、単引用符で書かれた属性、属性名や等号まわりの書き方の違い)出力せず停止
XMLのコメントの中にも同じfullpathの文字列がある出力せず停止
名前空間なし・既定の名前空間・接頭辞付きの名前空間のXML、After Effectsが保存した.aepx2件を置換して別名で出力
旧パスと新パスの両方に日本語と&を含む2件を置換して別名で出力

停止した場合は、どれも新しいファイルを作らず、元の.aepxは変わりませんでした。

確かめていないのは、.aiをレイヤー単位で読み込んだ素材、After Effectsのほかのバージョン、macOS、構成の違うPSD、新旧の素材の中身が違う場合、1秒の時点以外の表示です。

2026年10月3日に以前の版で行った14項目の検査は、記録を見つけられなかったため、今回の25通りと項目ごとに照合していません。

修正版VBScriptをダウンロードできます(2026年10月16日に差し替え)。

ZIPには、ほかの記事で使う練習用スクリプトと説明書き(README.txt)も入っていて、差し替えたのはrelink-copy.vbsだけです。

README.txtは2026年10月3日のままのため、relink-copy.vbsについて「実AEPXの再リンクは未検証」と書かれていますが、直した版は上のとおり確かめています。

確認資料(2026年10月3日):Adobe公式 XMLプロジェクト。

まとめ

  • リンク切れは標準のフッテージ置換から確認し、XML編集は保存コピーで行う
  • テキストエディタの検索・置換機能でフッテージパスを一括修正可能
  • 記事のVBScriptは、完全一致するfullpathだけを書き換えた別名の.aepxを作る(2026年10月16日に名前空間付きの.aepxに対応)
  • プロジェクトパネルで「見つけられない」を検索すればリンク切れ素材を即座に抽出可能

参考リンク:https://community.adobe.com/

よくある質問:After Effectsでリンク切れ素材のパスをまとめて直すとき

リンク切れ素材は、まず何を試しますか?

PSD・AIをレイヤー単位で読み込んだ素材も、まずAEのフッテージ置換で正しいファイルへ再リンクできるか確認します。それで対象を直せない場合に、保存コピーの.aepx内のパスを確認します。

リンク切れ素材を、すばやく見つけるには?

プロジェクトパネル上部の検索バーに「見つけられない」と入力して絞り込みます。リンク切れ素材をすぐに抽出できます。

.aepxとは、何ですか?

プロジェクトをテキスト形式(XML形式)で保存したファイルです。

「ファイル」→「別名で保存」→「XML 形式でコピーを保存」を選択して保存すると、拡張子が「.aepx」のファイルとして書き出されます。

.aepx内のパスを、どう編集しますか?

任意のテキストエディタで.aepxファイルを開き、検索機能でフッテージパスが記述されている箇所を特定して、置換機能で旧パスを新しい保存先パスに一括置換します。元の.aepと.aepxは保持し、編集した.aepxを別名保存してください。引用符や&などを含むパスは、XMLの属性値としてエスケープし、After Effectsで開いて各レイヤーのリンクを確認します。

置換するときの注意点は?

フォルダー名だけの部分一致や、全プロジェクトの文字列置換はしません。fileReferenceとfullpathを確認し、同じ旧ファイルを指す属性が何件あるか数えてから置換します。記事のVBScriptは、fullpath属性が完全一致する箇所だけを変更し、元ファイルを上書きしません。

VBScriptは、どんなときに保存しませんか?

引数なし、置換0件、XML不正、既存の出力ファイルがある場合は保存しません。旧パスが見つからないと出力せず停止するので、XML内の大小文字・引用符・パスを確認します。既存の出力があると停止するため、内容を確認せずに再実行して上書きしないでください。

.aepxから、通常の.aepに戻すには?

After Effectsで.aepxを開き、「ファイル」→「別名で保存」からファイル形式または拡張子を「aep」に変更して保存します。

ファイルサイズの大小だけでは復元成功を判断できないため、.aepとして保存して開き直し、コンポジション・素材参照・レイヤー・必要なフレームが正しいかを確認します。

この記事のスクリプトは、実機で確認済みですか?

2026年10月16日に、Windows 11 Pro(10.0.26200)のAdobe After Effects 26.5.0(Build 89、日本語表示)で、直した版を確かめました。

After Effectsが保存した.aepxで2レイヤーのPSDのパスを置換し、日本語と&を含む新しい場所のPSDを参照できること、開き直しと通常の.aepへの保存後も参照と表示が保たれることを確かめています。

停止する条件は25通りの入力で確かめ、どの場合も元の.aepxは変わりませんでした。

2026年10月16日より前に配布していた版は、After Effectsが保存した.aepxでは何も出力せずに止まっていました。

.aiのレイヤー、ほかのバージョン、macOSは確かめていないため、XMLとして正常でもAEでの再リンク成功を保証するものではありません。

失敗したら、編集前の.aepを開き、標準の置換操作へ戻ってください。

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

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

After Effectsのおすすめ書籍

必要なPCスペック

周辺機器の優先度

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