Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 CLI Documentation | 2026.1

# P4 Server wildcards

For commands that operate on sets of files, P4 Server supports two wildcards.

Wildcard | Description
--- | ---
`*` | Matches anything except slashes. Matches only within a single directory. Case sensitivity depends on your platform.
`...` | Matches anything including slashes. Matches recursively (everything in and below the specified directory).

P4 Server wildcards can be used with local or P4 Server syntax, as in the following examples:

Expression | Matches
--- | ---
`J*` | Files in the current directory starting with `J`.
`*/help` | All files called `help` in current subdirectories.
`./...` | All files under the current directory and its subdirectories.
`./....c` | All files under the current directory and its subdirectories, that end in `.c`.
`/usr/bruno/...` | All files under `/usr/bruno`.
`//bruno_ws/...` | All files in the workspace or depot that is named `bruno_ws`.
`//depot/...` | All files in the depot named `depot`.
`//...` | All files in all depots.

The `*` wildcard is expanded locally by the operating system before the command is sent to the P4 Server. To prevent the local operating system from expanding the `*` wildcard, enclose it in quotes or precede it with a backslash.

The `...` wildcard cannot be used with the `p4 add` command. The `...` wildcard is expanded by the P4 Server, and, because the service cannot determine which files are being added, it can’t expand the wildcard. The `*` wildcard can be used with `p4 add`, because it is expanded by the operating system shell and not by P4 Server.

Your search for returned results