Most of the windows SFTP clients (like FileZilla) seem to be GUI-based. I need something I can call from batch files.
Windows doesn't have a built-in SFTP client. So if you're looking to transfer files with an SFTP server but are using a Windows machine, you might want to check out this post.
How to Connect to SFTP. By default, the same SSH protocol is used to authenticate and establish an SFTP connection. To start an SFTP session, enter the username and remote hostname or IP address at the command prompt. Once authentication is successful, you will see a shell with an sftp> prompt.
SFTP is supported on the command-line only via the Win32-OpenSSH sftp.exe , which is built-in on Windows 10 version 1803 or newer.
The SSH File Transfer Protocol allows you to transfer files from the command line via SSH between a local computer and a specified remote computer. Like SSH, SFTP can be run natively from the shell.
pscp and psftp are very customizable(options) and light weight. Open source to boot.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
WinSCP has the command line functionality:
c:\>winscp.exe /console /script=example.txt
where scripting is done in example.txt
.
See http://winscp.net/eng/docs/guide_automation
Refer to http://winscp.net/eng/docs/guide_automation_advanced for details on how to use a scripting language such as Windows command interpreter/php/perl.
FileZilla does have a command line but it is limited to only opening the GUI with a pre-defined server that is in the Site Manager.
Cygwin + sftp/scp natrually
WinSCP can be called from batch file:
"C:\Program Files\WinSCP\WinSCP.exe" /console
Example commands:
option batch on
option confirm off
option transfer binary
open sftp://username@hostname:port -hostkey="ssh-rsa "
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With