FileZilla Pro Command Line allows you to apply filters when executing commands that impact files and directories.
Commands that can add filters are:
To add filters, those commands use the --exclude option.
The --exclude option takes an argument in the form:
type condition value
Note that the argument should be enclosed in quotation marks.
Here is a breakdown of the available types and conditions:
name: apply the filter to the name of the file, including its extension
size: apply the filter to the file size
perm: apply the filter to the file attributes
path: apply the filter to the names of the directory and subdirectories the file is located (see Case sensitivity)
date: apply the filter to the date on which the file was created or last modified
Name and path
For types name and path, value is a string and the condition can be set to:
has: whether the name of a file or directory includes the text
hasnot: filters files and directories that do not include the text in the name
=: whether the name of a file or directory exactly matches the text
begins: whether the name of a file or directory starts with the text
ends: whether the name of a file or directory ends with the text
rx: if the name of a file matches a regular expression
If value contains spaces, enclose it with escaped quotation marks.
By default, the match is not case-sensitive. See Case sensitivity.
Size
For type size, value is a numerical size and the condition can be set to:
>: filter files larger than the specified size
=: filter files at the specified size
!=: filter files that are not of the specified size
<: filter files smaller than the specified siz
Permission
For type perm, the condition can be set to:
set: filter files which specified attributes are set
!set: filter files which specified attributes are not set
and the value is a string representing the file or directory attributes in the format rwxrwxrwx, where
r: the attribute allows reading
w: the attribute allows writing
x: the attribute allows executing
Each triplet rwx in the value string represents user, group, and all access.
Date
For type date, the condition can be set to:
>: filter files created or modified after the specified date=: filter files created or modified on the specified date!=: filter files whose create or last modified date is not the specified one<:filter files created or modified before the specified date
and the value is a string representing a timestamp in the format YYYYMMDD[HHMMSS]
Multiple filters
You can use multiple --exclude options to provide several filters.
The --match option takes an argument to specify how the multiple filters are handled. It takes one argument that can be:
all: filters out items matching all the filters (the default)
notall: filters out items that don’t meet the criteria of one or more filters
none: filters out items that don’t meet the criteria of all filters
any: filters out items that meet criteria of any filte
Case sensitivity
The name and path criteria are not case-sensitive. That is, the criteria matches entries regardless of
their case. To force a case-sensitive match use the --case option.
Examples
Exclude all files whose name begins with DESC, dsc, and so on:
--exclude "name begins DESC"
Exclude all files whose path contains My Documents:
--exclude "path has \"My Documents\""
Exclude all files that match the regular expression .*2023\..* (note how \ is escaped twice, see Escape Sequences):
--exclude "name rx \".*2023\\\\..*\""
Exclude all files whose size is greater than 20000:
--exclude "size > 20000"
Exclude all files whose creation or last modified date is after December, 31st 2023:
--exclude "date > 20231231"
Exclude all files whose permission is set as executable for user, group, and all:
--exclude "perm set -x-x-x"
Exclude all files whose creation or last modified date is before March, 1st, 2023 and ending with bak:
--exclude "date < 20230301" --exclude "name ends bak"
Exclude all files whose creation or last modified date is before March, 1st, 2023 and all files ending
with bak:
--exclude "date < 20230301" --exclude "name ends bak" --match any
Do not exclude files whose creation or last modified date is before March, 1st, 2023 and whose name
ends with bak:
--exclude "date < 20230301" --exclude "name ends bak" --match notall
Do not exclude files whose creation or last modified date is before March, 1st, 2023, or files whose
name ends with bak:
--exclude "date < 20230301" --exclude "name ends bak" --match none
The video tutorial below shows the utilization of filters with FileZilla Pro CLI.