Documentation
Transfer folders with PowerShell
Use Transferetto to send or receive whole directory trees from PowerShell.
Folder transfer is usually where ad-hoc scripts get messy. Transferetto gives you explicit directory cmdlets so you do not have to loop over every item manually unless you want that level of control.
Directory transfer lanes
Send-SFTPDirectoryandReceive-SFTPDirectoryfor secure recursive transferSend-FTPDirectoryandReceive-FTPDirectoryfor classic FTP and FTPS endpointsSend-SCPDirectoryandReceive-SCPDirectorywhen the server exposes SCP
When to prefer each one
- Prefer SFTP for secure recursive transfer with richer remote filesystem support.
- Use FTP or FTPS when the target system only exposes the FTP family.
- Use SCP when you need straightforward copy semantics and the server already supports SSH.
Upload a folder with FTPS
Import-Module Transferetto
$ftpClient = Connect-FTP -Server 'ftp.example.com' -Credential (Get-Credential) -EncryptionMode Explicit
Send-FTPDirectory -Client $ftpClient -LocalPath "$PSScriptRoot\Upload" -RemotePath '/releases' -FolderSyncMode Update
Disconnect-FTP -Client $ftpClient
Receive a folder with SFTP
Import-Module Transferetto
$sftpClient = Connect-SFTP -Server 'sftp.example.com' -Credential (Get-Credential)
Receive-SFTPDirectory -SftpClient $sftpClient -RemotePath '/exports/nightly' -LocalPath "$PSScriptRoot\Download\Nightly" -AllowOverride
Disconnect-SFTP -SftpClient $sftpClient
Practical guidance
- Use deterministic local and remote root paths.
- Decide whether existing files should be updated or preserved.
- Review the returned transfer results when the folder contents matter.