---
title: "Command"
manual: "Content Planner"
version: "2.5"
source: "Usage/Command.rst"
modified: "2026-09-16T11:40:44+00:00"
---

# Command

The extension provides the following console commands:

## `content-planner:bulk-update`

A command to update multiple records based on a given configuration.

**Composer-based installation**

```bash
vendor/bin/typo3 content-planner:bulk-update
```

**Legacy installation**

```bash
typo3/sysext/core/bin/typo3 content-planner:bulk-update
```

The following command arguments are available:

-   **table**

    -   *Type:* string
    -   *Required:* false
    -   *Default:* "pages"
    -   *Multiple allowed:* false

    Defines the table of content planner records to be updated.

    Supported tables:

    -   `pages` \- Update page records
    -   `tt_content` \- Update content element records (requires enabled Content Element support)
    -   `sys_file_metadata` \- Update file metadata records (requires enabled Filelist support)
    -   `folder` \- Update folder status (requires enabled Filelist support, use combined identifier as uid)
    -   Any custom table registered via `registerAdditionalRecordTables`

    Example:

    **Composer-based installation**

    ```bash
    vendor/bin/typo3 content-planner:bulk-update pages
    vendor/bin/typo3 content-planner:bulk-update sys_file_metadata
    vendor/bin/typo3 content-planner:bulk-update folder
    ```

    **Legacy installation**

    ```bash
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages
    typo3/sysext/core/bin/typo3 content-planner:bulk-update sys_file_metadata
    typo3/sysext/core/bin/typo3 content-planner:bulk-update folder
    ```

-   **uid**

    -   *Type:* integer|string
    -   *Required:* false
    -   *Default:* 1
    -   *Multiple allowed:* false

    Defines the uid of the record to be updated.

    > [!NOTE]
    > For folders, use the **combined identifier** instead of a numeric uid.
    > The combined identifier consists of the storage uid and the folder path,
    > separated by a colon (e.g., `1:/user_upload/myfolder/`).

    Example:

    **Composer-based installation**

    ```bash
    vendor/bin/typo3 content-planner:bulk-update pages 12
    vendor/bin/typo3 content-planner:bulk-update sys_file_metadata 123
    vendor/bin/typo3 content-planner:bulk-update folder "1:/user_upload/myfolder/"
    ```

    **Legacy installation**

    ```bash
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages 12
    typo3/sysext/core/bin/typo3 content-planner:bulk-update sys_file_metadata 123
    typo3/sysext/core/bin/typo3 content-planner:bulk-update folder "1:/user_upload/myfolder/"
    ```

-   **status**

    -   *Type:* integer
    -   *Required:* false
    -   *Default:* none
    -   *Multiple allowed:* false

    Defines the status uid to set. If empty, the status of the desired record will be cleared.

    Example:

    **Composer-based installation**

    ```bash
    vendor/bin/typo3 content-planner:bulk-update pages 12 1
    vendor/bin/typo3 content-planner:bulk-update sys_file_metadata 123 2
    vendor/bin/typo3 content-planner:bulk-update folder "1:/user_upload/myfolder/" 3
    ```

    **Legacy installation**

    ```bash
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages 12 1
    typo3/sysext/core/bin/typo3 content-planner:bulk-update sys_file_metadata 123 2
    typo3/sysext/core/bin/typo3 content-planner:bulk-update folder "1:/user_upload/myfolder/" 3
    ```

The following command options are available:

-   **-r|--recursive**

    -   *Type:* boolean
    -   *Required:* false
    -   *Default:* false
    -   *Multiple allowed:* false

    Use this option to update all records beginning from the defined record in the console arguments recursively.

    > [!NOTE]
    > This option is only available for the `pages` table.

    Example:

    **Composer-based installation**

    ```bash
    vendor/bin/typo3 content-planner:bulk-update pages 1 1 -r
    ```

    **Legacy installation**

    ```bash
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages 1 1 -r
    ```

-   **-a|--assignee**

    -   *Type:* integer
    -   *Required:* false
    -   *Default:* none
    -   *Multiple allowed:* false

    Use this option to assign the updated records to a specific user.

    Example:

    **Composer-based installation**

    ```bash
    vendor/bin/typo3 content-planner:bulk-update pages 1 1 -a 2
    vendor/bin/typo3 content-planner:bulk-update pages 1 1 --assignee=2
    ```

    **Legacy installation**

    ```bash
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages 1 1 -a 2
    typo3/sysext/core/bin/typo3 content-planner:bulk-update pages 1 1 --assignee=2
    ```
