What is an Operation?

An operation that can be performed on a specific/batch of records (files/entities/cache, etc.), for example, scraping for files, or batch setting certain fields to a certain value for entities.

What is Batch operations?

Batch operations is performing the same operation on one or more records.

What is a Multi-Action?

A Multi-Action is performing the same batch operations on each record of the selected records. The Multi-Action page can also be used in Batch operations.



How to Perform Batch operations?

Watch the video
  1. In the traditional main interface, check one or more records in the detail table on the right, and click the "Batch Op" button.
  2. Please ensure that these files are online (hard drive/NAS is connected), reconfirm the checked records, and click "Go".
  3. Select the appropriate single processor and action or Multi-Action, such as code.get_code. If necessary, you can click the "Configure" button to configure the processor.
  4. Check "Force Redo" if needed (many operations will determine whether the same operation has been performed. If so, the record will be skipped. Checking "Force Redo" will skip the judgment and redo directly).
  5. Press the "OK" button or the "Background" button.


How to Perform an Operation on a Single Record?

  1. In the traditional grid, right-click on the record that needs to be operated on.
  2. Select the "Single Operation" menu.
  3. The subsequent operations are the same as Batch Operations.


Library File Related Operations

The following operations only apply to library file type records.

# scraper.scrape: Scrape information from websites or information sources

Please refer to Scraping

# AI.get_title: Use AI to get the real title by filename

PLM has built-in support for AI. In Batch operations operations, users can use configured AI to generate titles for selected files.

# code.get_code: Extract code from filename

This function extracts the code of Japanese AV movies from the file name according to certain configuration rules (config\batch\bp_code.ini). Users can edit, add, and delete rules by themselves.

# file.rename_file: Rename files in a specified format

When entering a new file name, you can use <field name> to indicate that PLM should replace it with a field value of current record, such as <code> (code) or <cast:1> (first actor) or <pubtime:year()> (release date taking the year). See Database Structure for the field list.

# file.delete_file: Delete the file and related items such as preview images to the OS recycle bin

This function will not only delete the record, but also actually delete the media file itself and related items such as cover, preview image, sample, NFO, and subtitles to the OS's recycle bin. If you delete it by mistake, please use the recycle bin to restore these files and re-import them.

# file.move_file: Move the file and related items to another directory

Move file options:

  • Target path: Files will be moved to this subdirectory under a library directory
  • Duplicate action: If a duplicate file is encountered, should it be overwritten, skipped, or verified for overwriting (if the files are the same, the source file will be directly deleted)
  • All to this path: No matter where the source file is located, it will be moved to the target path.
  • Keep each subdir: For example, the source file is "1.[Movie01] > d:\007\abc.mp4", and the target path is "2.[Movie02] > e:\EU\", then the final file name will be "2.[Movie02] > e:\EU\007\abc.mp4". This option is suitable for moving a large, well-adjusted subdirectory as a whole.
  • Keep subdir but remove this prefix: If the value is "007\", the final file name in the previous example is "2.[Movie02] > e:\EU\abc.mp4". This option is suitable for moving the whole after establishing the target subdirectory.
  • # file.count: Count and statistics

    This function performs simple statistical work: number of files, size, file type, category, country, release year, rating, tags, ratings, actors, studios, etc.

    # file.dup_check: Check for duplicate/similar files

    This function detects suspected duplicate files in the library based on code, file name, checksum, etc., helping users to clear duplicate files and save space. According to the inspection results, users can select the records and perform the file.delete_file operation.

    # file.copy_file: Copy files to the specified OS folder

    This function is usually used to copy files to external systems. PLM will copy the main and related files.

    # file.combine: Combine multiple files into one folder

    Combine multiple files, such as multiple parts of a movie, into a folder-type file. These files must be located in the same folder in the OS.

    # file.split: Separate a folder into multiple files

    Separate a folder-type file into multiple single files.

    # file.normalize: Normalize files to make the library more organized

    Please refer to Normalize Files

    # media.get_media_info: Extract media information from files

    Extract media information such as duration/resolution/codec to the file record.

    # media.gen_preview: Generate preview images/animated previews

    Generate preview images PNG or animated previews GIF for videos or image sets. You can edit config\batch\bp_minfo.ini to adjust generation parameters.

    # encoder.encrypt: Encrypt media files so that the file can only be played using the PLM player

    PLM has the ability to quickly encrypt media files, so that the encrypted media files can only be played using PLM and its player PLMPlay. The extension of the encrypted file will also be modified to .plxxx(such as .plmp4)

    # encoder.decrypt: Decrypt media files so that the file can be played using a common media player such as VLC

    Decrypt previously encrypted files, which can be played using other common media players, and the file name extension will also be restored.

    # switchdir.switch_dir: Change the path of the selected files

    This operation only verifies and modifies the path of the file, and is suitable for files that have already been moved manually.

    # repair.repair: Repair file information and links

    Repair and update file information and links, caches, etc.

    # nfo.gen_nfo: Generate KODI compatible .NFO files

    Generate .nfo files available for KODI. The .nfo file will contain additional PLM fields.

    # autoinfo.auto_info: Automatically set the attributes of the file according to the existing information

    Automatically set the file actor information according to the path where the file is located.

    # cd.cdnum: Parse the CD number from the file name

    Set the cdnum field value according to the file name.



    External File Related Operations

    The following operations only apply to external file type records (during import).

    # fsfile.delete_file: Delete the file and related items such as preview images to the operating system recycle bin

    This function will not only delete the record, but also actually delete the media file itself and related items such as cover, preview image, sample, NFO, and subtitles to the operating system's recycle bin. If you delete it by mistake, please use the recycle bin to restore these files and re-import them.

    # fsfile.rename_file: Rename files in a specified format

    When entering a new file name, you can use <field name> to indicate that PLM should replace it with a field value of current record, such as <code> (code) or <cast:1> (first actor) or <pubtime:year()> (release date taking the year). See Database Structure for the field list.



    Multiple Types Related Operations

    The following operations are valid for multiple or all types of records (including files/entities, etc.).

    # set.set_values: Batch set field values

    This operation is available for all types of records. Set certain field values (can be empty values) and check them, and then click OK to batch set the checked field values of all selected records.

    # script.run_script: Run a script to process the file list

    Users can install or write scripts for PLM to call for each selected record during Batch operations.

    # tag.add_tag: Batch add a tag

    Batch add a specified tag to the selected records.

    # tag.remove_tag: Batch remove a tag

    Batch delete a specified tag from the selected records.

    # tag.clear_tag: Batch clear all tags

    Clear all tags from the selected records.

    # translator.translate: Batch translate text in multiple fields using the current translation configuration

    Check the fields to be translated. PLM batch translates these field values of all selected records according to the current translation configuration.

    # export.export_json: Export data to an external JSON file

    Export records to .json format.

    # export.export_jsonl: Export data to an external JSON lines file

    Export records to .json lines format, suitable for AI processing.

    # export.expart_csv: Export data to an external CSV file

    Export records to .csv format.

    # list.delete: Delete records only but not related entities

    Delete records only but do not delete the entity files in the operating system.