## zowe › zos-files › download › data-sets-matching

Download all data sets that match a DSLEVEL pattern (see help below). You can use several options to qualify which data sets will be skipped and how the downloaded files will be structured. Data sets that are neither physical sequential nor partitioned data sets (with members) will be excluded.

#### Usage

zowe zos-files download data-sets-matching <pattern> [options]

#### Positional Arguments

- `pattern` (string)

  - The pattern or patterns to match data sets against. Also known as 'DSLEVEL'. The following special sequences can be used in the pattern:
    %: matches any single character
    *: matches any number of characters within a data set name qualifier (e.g. "ibmuser.j*.old" matches "ibmuser.jcl.old" but not "ibmuser.jcl.very.old")
    **: matches any number of characters within any number of data set name qualifiers (e.g. "ibmuser.**.old" matches both "ibmuser.jcl.old" and "ibmuser.jcl.very.old")
    However, the pattern cannot begin with any of these sequences. You can specify multiple patterns separated by commas, for example "ibmuser.**.cntl,ibmuser.**.jcl"

#### Options

- `--binary` | `-b` (boolean)

  - Download the file content in binary mode, which means that no data conversion is performed. The data transfer process returns each line as-is, without translation. No delimiters are added between records.

- `--directory` | `-d` (string)

  - The directory to where you want to save the members. The command creates the directory for you when it does not already exist. By default, the command creates a folder structure based on the data set qualifiers. For example, the data set ibmuser.new.cntl's members are downloaded to ibmuser/new/cntl).

- `--encoding` | `--ec` (string)

  - Download the file content with encoding mode, which means that data conversion is performed using the file encoding specified.

- `--exclude-patterns` | `--ep` (string)

  - Exclude data sets that match these DSLEVEL patterns. Any data sets that match this pattern will not be downloaded.

- `--extension` | `-e` (string)

  - Save the local files with a specified file extension. For example, .txt. Or "" for no extension. When no extension is specified, .txt is used as the default file extension.

- `--extension-map` | `--em` (string)

  - Use this option to map data set names that match your pattern to the desired extension. A comma delimited key value pairing (e.g. "cntl=.jcl,cpgm=.c" to map the last segment of each data set (also known as the "low level qualifier" to the desired local file extension).

- `--fail-fast` | `--ff` (boolean)

  - Set this option to false to continue downloading data set members if one or more fail.

    Default value: true

- `--max-concurrent-requests` | `--mcr` (number)

  - Specifies the maximum number of concurrent z/OSMF REST API requests to download members. Increasing the value results in faster downloads. However, increasing the value increases resource consumption on z/OS and can be prone to errors caused by making too many concurrent requests. If the download process encounters an error, the following message displays:
    The maximum number of TSO address spaces have been created. When you specify 0, Zowe CLI attempts to download all members at once without a maximum number of concurrent requests.

    Default value: 1

- `--overwrite` | `--ow` (boolean)

  - Overwrite files that already exist in your local environment.

- `--preserve-original-letter-case` | `--po` (boolean)

  - Specifies if the automatically generated directories and files use the original letter case.

    Default value: false

- `--record` | `-r` (boolean)

  - Download the file content in record mode, which means that no data conversion is performed and the record length is prepended to the data. The data transfer process returns each line as-is, without translation. No delimiters are added between records. Conflicts with binary.

- `--volume-serial` | `--vs` (string)

  - The volume serial (VOLSER) where the data set resides. You can use this option at any time. However, the VOLSER is required only when the data set is not cataloged on the system. A VOLSER is analogous to a drive name on a PC.

- `--response-timeout` | `--rto` (number)

  - The maximum amount of time in seconds the z/OSMF Files TSO servlet should run before returning a response. Any request exceeding this amount of time will be terminated and return an error. Allowed values: 5 - 600

#### Zosmf Connection Options

- `--host` | `-H` (string)

  - The z/OSMF server host name.

- `--port` | `-P` (number)

  - The z/OSMF server port.

    Default value: 443

- `--user` | `-u` (string)

  - Mainframe (z/OSMF) user name, which can be the same as your TSO login.

- `--password` | `--pass` | `--pw` (string)

  - Mainframe (z/OSMF) password, which can be the same as your TSO password.

- `--reject-unauthorized` | `--ru` (boolean)

  - Reject self-signed certificates.

    Default value: true

- `--base-path` | `--bp` (string)

  - The base path for your API mediation layer instance. Specify this option to prepend the base path to all z/OSMF resources when making REST requests. Do not specify this option if you are not using an API mediation layer.

- `--protocol` (string)

  - The protocol used (HTTP or HTTPS)

    Default value: https
    Allowed values: http, https

- `--cert-file` (local file path)

  - The file path to a certificate file to use for authentication

- `--cert-key-file` (local file path)

  - The file path to a certificate key file to use for authentication

- `--completion-timeout` | `--cto` (number)

  - The amount in time, in seconds, a REST operation should wait to complete before timing out

- `--establish-connection-timeout` | `--ecto` (number)

  - The amount of time, in seconds, a REST operation should wait while connecting to the server before timing out

#### Profile Options

- `--zosmf-profile` | `--zosmf-p` (string)

  - The name of a (zosmf) profile to load for this command execution.

- `--base-profile` | `--base-p` (string)

  - The name of a (base) profile to load for this command execution.

#### Base Connection Options

- `--token-type` | `--tt` (string)

  - The type of token to get and use for the API. Omit this option to use the default token type, which is provided by 'zowe auth login'.

- `--token-value` | `--tv` (string)

  - The value of the token to pass to the API.

#### Examples

- Download all data sets beginning with "ibmuser" and ending with ".cntl" or ".jcl" to the local directory "jcl" to files with the extension ".jcl":

  - `zowe zos-files download data-sets-matching "ibmuser.**.cntl, ibmuser.**.jcl" --directory jcl --extension .jcl`

- Download all data sets that begin with "ibmuser.public.project" or "ibmuser.project.private", excluding those that end in "lib" to the local directory "project", providing a custom mapping of data set low level qualifier to local file extension:

  - `zowe zos-files download data-sets-matching "ibmuser.public.project.*, ibmuser.project.private.*" --exclude-patterns "ibmuser.public.**.*lib" --directory project --extension-map cpgm=c,asmpgm=asm,java=java,chdr=c,jcl=jcl,cntl=jcl`