ListFiles
List files from set destination directory with optional file mask through SFTP connection.
Task version: 3.0.0
Required Frends version: 5.5+
Required .NET version: 6.0
Compatible Agents: Crossplatform
Task Parameters
Directory : String
Directory on the server.
Default: /
Example: /directory/test/
FileMask : String
Pattern to match (Optional).
Default: -
Example: *.txt
IncludeType : IncludeType
Types to include in the directory listing.
Possible values:
File: Types to include in the directory listing.Directory: Types to include in the directory listing.Both: Types to include in the directory listing.
Default: File
Example: IncludeType.File
IncludeSubdirectories : Boolean
Include subdirectories?
Default: -
Example: true
FileEncoding : FileEncoding
Encoding for the file names.
By selecting 'Other' you can use any encoding.
Possible values:
UTF8: Encoding for the file names.
By selecting 'Other' you can use any encoding.
ANSI: Encoding for the file names.
By selecting 'Other' you can use any encoding.
ASCII: Encoding for the file names.
By selecting 'Other' you can use any encoding.
WINDOWS1252: Encoding for the file names.
By selecting 'Other' you can use any encoding.
Other: Other enables users to add other encoding options as string.
Default: ANSI
Example: FileEncoding.ANSI
EnableBom : Boolean
Additional option for UTF-8 encoding to enable bom.
Default: False
Example: true
EncodingInString : String
File encoding to be used.
Encoding don't support any unicode encoding. It only support the code page encodings.
A partial list of possible encodings: https://en.wikipedia.org/wiki/Windows_code_page#List.
Default: -
Example: utf-8
ConnectionTimeout : Int32
The lenght of time, in seconds, until the connection times out.
You can use value -1 to indicate that the connection does not time out.
Default value is 60 seconds.
Default: 60
Example: 60
MaxExecutionTimeout : Int32
The maximum length of time, in seconds, for the entire SFTP operation to complete.
This includes connection establishment, file listing, and all subdirectory traversal.
Acts as a safety timeout in addition to ConnectionTimeout and OperationTimeout settings.
You can use value 0 to indicate that the operation does not time out.
Default: 0
Example: 600
Address : String
SFTP host address
Default: -
Example: localhost
Port : Int32
Port number to use in the connection to the server.
Default: 22
Example: 22
Authentication : AuthenticationType
Selection for authentication type
Possible values:
UsernamePassword: Authentication type which uses username and password.UsernamePrivateKeyFile: Authentication type which uses username and private key fileUsernamePrivateKeyString: Authentication type which uses username and private key as a string.UsernamePasswordPrivateKeyFile: Authentication type which uses username, password and private key file.UsernamePasswordPrivateKeyString: Authentication type which uses username, password and private key as a string.
Default: -
Example: AuthenticationType.UsernamePassword
Username : String
Username to use for authentication to the server. Note that the file endpoint only supports
username for remote shares and the username must be in the format DOMAIN\Username.
Default: -
Example: foo
🗝Password : String
Password to use in the authentication to the server.
Default: -
Example: pass
PrivateKeyFile : String
Full path to private key file. Supported private key formats: OpenSSH and ssh.com.
PuTTY keys can be converted with puttygen.exe application.
1. Load your key file into puttygen.exe
2. Conversion > Export OpenSSH key (not the "force new file format" option)
Default: -
Example: C:\path\to\private\key
🗝PrivateKeyString : String
Private key as a string, supported private key formats: OpenSSH and ssh.com.
PuTTY keys can be converted with puttygen.exe application.
1. Load your key file into puttygen.exe
2. Conversion > Export OpenSSH key (not the "force new file format" option)
Default: -
Example: -----BEGIN RSA PRIVATE KEY----- Fqxq2jbSKyb0a+oW96Tjoif3Kcb5zZ0FiQyiHgQozLXrecjdUwjWuedkDoZMxwG5 bxpOnxZ/88tDzYCtCPcYCPRF8BNueUsZO8/tztTra+4NgVd/omXHG5bqb7iMB4dc ... OX7Q/wO4lqOlFhLtRnSL0cfuhRmt59pM75Zd+euX5tv9jmCj+AQT/kiBoMhNrDGk N2gTujnH7HCr/afSBeL3xnYcEmeCQTxTPZofBjPC+TPd9g7MntSGBeU/Fstv0jbg -----END RSA PRIVATE KEY-----
🗝PrivateKeyPassphrase : String
Passphrase for the private key file.
Default: -
Example: passphrase
ServerFingerPrint : String
Fingerprint of the SFTP server. When using "Username-Password"
authentication it is recommended to use server fingerprint in
order to be sure of the server you are connecting.
Default: -
Example: MD5: '41:76:EA:65:62:6E:D3:68:DC:41:9A:F2:F2:20:69:9D' SHA256: 'FBQn5eyoxpAl33Ly0gyScCGAqZeMVsfY7qss3KOM/hY='
HostKeyAlgorithm : HostKeyAlgorithms
Host key algorithm to use when connecting to server.
Default value is Any which doesn't force the task to use
specific algorithm.
Possible values:
Any: The algorithm is negotiated with the server.
The task will use ed25519 as default.
RSA: Force the ssh-rsa host key algorithm.Ed25519: Force the ssh-ed25519 host key algorithm.nistp256: Force the ecdsa-sha2-nistp256 host key algorithm.nistp384: Force the ecdsa-sha2-nistp384 host key algorithm.nistp521: Force the ecdsa-sha2-nistp521 host key algorithm.
Default: Any
Example: HostKeyAlgorithms.RSA
UseKeyboardInteractiveAuthentication : Boolean
Enable if the server uses keyboard-interactive authentication method.
Default: False
Example: false
PromptAndResponse : PromptResponse[]
Responses for the server prompts when using Keyboard Interactive authentication method.
Default: -
Example: -
Task Result
FileCount : Int32
Count of files found from the directory.
Example: 2
Files : List<FileItem>
List of file items found from the directory.
Example: [ { "FullPath": "/upload/down/test2.txt", "IsDirectory": false, "IsFile": true, "Length": 54, "Name": "test2.txt", "LastWriteTimeUtc": "2022-11-07T12:17:36Z", "LastAccessTimeUtc": "2022-11-07T12:17:37Z", "LastWriteTime": "2022-11-07T14:17:36+02:00", "LastAccessTime": "2022-11-07T14:17:37+02:00" }, { "FullPath": "/upload/down/test1.txt", "IsDirectory": false, "IsFile": true, "Length": 0, "Name": "test1.txt", "LastWriteTimeUtc": "2022-11-07T12:17:36Z", "LastAccessTimeUtc": "2022-11-07T12:17:37Z", "LastWriteTime": "2022-11-07T14:17:36+02:00", "LastAccessTime": "2022-11-07T14:17:37+02:00" }, ]
Task Changelog
Changelog for Task Frends.SFTP.ListFiles.
[3.0.0] - 2026-01-27
Changed
Breaking changes!
Updated dependency SSH.NET to the newest version 2025.1.0.
Drop DSS support
[2.7.0] - 2026-01-13
Fixed
Operation timeout is now using the Connection.ConnectionTimeout parameter.
[2.6.0] - 2025-12-16
Added
Added MaxExecutionTimeout parameter (default: 0 = no limit) to set a maximum time limit for the entire SFTP list operation.
[2.5.0] - 2025-04-09
Changed
Clarified that the encoding parameter is used for the file name encoding.
[2.4.0] - 2025-01-03
Fixed
Fixed issue with ConnectionInfoBuilder having static properties for connection and input parameters which lead to Task not being thread safe.
[2.3.0] - 2024-08-19
Updated
Updated Renci.SshNet library to version 2024.1.0.
[2.2.0] - 2023-12-21
Updated
[Breaking] Updated dependency SSH.NET to the newest version 2023.0.0.
Changed
Changed connection info builder to create the connection info as it's done in DownloadFiles.
[Breaking] Changed PrivateKeyFilePassphrase parameter to PrivateKeyPassphrase and enabled it when PrivateKeyString was used.
[2.0.1] - 2022-12-01
Updated
Updated dependency Microsoft.Extensions.DependencyInjection to the newest version.
[2.0.0] - 2022-11-09
Added
Added keyboard authentication method
[Breaking] Added parameter for keyboard authentication
Modified result Task to return object instead of list
Added result attribute FileCount
Added more tests e.g. Serverfingerprint tests
Added System.Text.CodePages NuGet to the project
Added ConnectionInfoBuilder
Added HostKeyAlgorithm enum
[1.0.2] - 2022-06-28
Changed
Reconstructed the Task to be similar to other SFTP tasks
Implemented more authentication options
Added timeout option
Added File name encoding options
Updated tests
[1.0.1] - 2022-06-20
Changed
SSH.NET version upgrade from 2020.0.1 to 2020.0.2
[1.0.0] - 2022-04-01
Added
Initial implementation
Last updated
Was this helpful?

