Links Move Unused
Script for Adobe InDesign
Latest update 10/13/2021, version 2.7
The script is a housekeeping tool. Some of my projects are photo books with many images or similar documents with many placed graphics. These jobs often begin with, or accumulate during development, far more images than ultimately appear in the final product. When the project is done, I like to organize my files. It is possible to package the document and produce a links folder that contains the graphics placed in the document, but what about graphics not used? I don't want to throw them out, and they are still blended with the graphics that are used, within the working links folder. So I made this script to pull out unused graphics and put them into a separate “Links not used” folder.
- Moves graphic files not used to a selected folder
- Examines graphics placed in the active document, a book file, or a folder of documents
- Works with Mac and Windows
- Uses system to move files, rather than copy and delete
- All properties of moved files are preserved (modification time, etc.)
- Also moves matching dotbar files on servers that split Mac resource and data forks
- User-configurable localization
How to use the script
The interface has three sections: Process, Links folder, and Destination folder. Set options as desired and click the OK button to begin processing.
Section 1: Process
Active Document — examines graphics placed in the document that is currently open and the top-most window if multiple documents are open.
Book — select an InDesign book file and graphics placed in all documents the book file references are examined.
Folder — select a folder and graphics placed in all InDesign documents in the folder are examined. Only files with the .indd extension are processed.
Section 2: Links folder
Select the folder to examine and compare against the graphics placed in the active document, selected book file, or selected folder of documents. This examination determines which files are referenced by the selected document or documents, and which files have no reference appearing in any of the documents. Files that lack any reference are moved to the Destination folder, defined below.
The default is a folder named “Links” that typically exists alongside the selected document or documents. Click the button Folder… and navigate to any other desired folder, if for example the project’s links are stored elsewhere (or in multiple folders; see below Multiple links folders). Selecting a folder other than default also updates the Destination Folder to match the same name plus “ not used”.
Section 3: Destination folder
The folder to which unused links are moved. The default is a folder named “Links not used” in the same folder containing the selected document or documents, alongside the selected links folder. If the folder does not exist, it is created. Click the button Folder… and navigate to, or create, any other desired folder.
The script recognizes subfolders within the links folder and duplicates the subfolder structure within the destination folder.
Multiple links folders
During project development, it is not uncommon for links to be organized in separate folders, for example chapters or sections of a book. Ultimately these will likely be consolidated into a single links folder, but not until design is complete. The script still works in these cases, only it requires running the script on each separate links folder. This is possible because the script does not consider what is missing in the folder, rather what is in the folder but missing from the document(s). There is no harm in using the script this way. For each links folder processed, a matching folder of its name plus “not used” is created, matching any subfolder structure in the links folder.
When a link can’t be moved
When a link cannot be moved, rather than alert the user and halt processing, the failure is written to a log file at the location of the active document or book, or the location chosen when processing a folder. If such a failure occurs, when processing is complete the user is notified of the logging. The user is then instructed to resolve the unused links manually.
Failure to move a file could be due to a general error, or: 1. if a particular link is unused, but already exists in the destination folder, it will not be moved (to prevent overwriting). 2. on MacOS, the script calls AppleScript to move the file, which fails if the filename contains Unicode characters (extended characters such as accents, etc.). This is not a flaw of AppleScript, which handles Unicode fine, rather a flaw in how Adobe ExtendScript communicates with AppleScript. Windows uses VBScript and has no problem moving files with Unicode characters in the filename.
Important note for Windows users
If you receive the error “Unable to load Adobe InDesign Type Library”, you must exit InDesign and Run as administrator to load needed libraries that non-administrators cannot because they lack permission to alter the system. Exit InDesign then open the Windows Start Menu. Locate InDesign and right-click, select “More”, then “Run as administrator”. Launch the script and the needed libraries are automatically loaded. These steps are only required once. After the libraries are loaded, running as administrator is no longer necessary.
The script provides user-configurable localization. By default the script language is US English, which does not require further download or configuration. For other languages, download the Language Pack and copy the i18n file for the desired language to the script folder alongside the script file. When launched, the script detects the i18n file and the interface displays the language. If the desired language is not present in the language pack, edit the English i18n file to translate to the desired language, and copy the edited i18n file to the script folder alongside the script file. For details of how to edit and install i18n files, read How to Localize Scripts.
Links Move Unused
License details included in download
For help installing scripts, see How to Install and Use Scripts in Adobe Creative Cloud Applications.
IMPORTANT: by downloading the script you agree that the software is provided without any warranty, express or implied. USE AT YOUR OWN RISK. Always make backups of important data.