## Copy Metadata Between Files

When an action executes, every selected file has an assigned index in the range of 0 to the number of selected files - 1. The indexes are sequentially assigned from the first file in the selection list to the last. The assigned index is available from the File Index property. The property can be read via the Get Property statement or via an escape sequence. This statement copies specified metadata from a single file at a specified index to either a single different file or all other selected files.

You can copy the source files current metadata or optionally the source file's initial metadata. The initial metadata is the data first loaded or last saved to a file. When copying initial metadata the destination can be the same file as the source. Note however that when copying to all files, the source will never be written.

The indexes are evaluated at runtime and may contain any of the escape sequences described in Escape Sequences.

If any of the file indexes are invalid the function will be ignored. For example, not copy initial values and the source and destination are the same.

Note that when copying a metadata field which supports multiple items, all items will be copied. This incudes Artwork, Comments, Lyrics, Ratings, User Defined Text Info, User Defined URLs, and more. You can find a complete list here.

You can copy all fields or a list of chosen fields. Unhandled fields are never copied.

The action test state will be set to true if any metadata was copied, (not necessarily modified). If nothing was copied, the action test state will be set to false.

The statement is executed once regardless as to whether it is run stepwise or grouped.