Reputation: 29178
Is there anyway to copy files from Windows machine to a remote Linux machine with a DOS command/other command-line tool (by specifying username and password in the command). I normally do this using WinSCP and would like to write a script (BAT) to automate this.
Upvotes: 9
Views: 28273
Reputation: 202168
WinSCP scripting command-line to upload a file is like:
winscp.com /command "open sftp://[email protected]/" "put d:\www\index.html" "exit"
See the guide to WinSCP scripting.
Easier is to use a Generate transfer code function to have WinSCP GUI generate a script (or even a complete batch file) for a transfer.
Upvotes: 6
Reputation: 807
If anyone is looking to do this in 2022, Windows 10 now comes with scp. You can do
scp path/localfile.txt remote-user@host:/home/path
or the recursive version for directories
scp -r localfolder remote-user@host:/home/path
Of course with scp you'll run into issues if you have a large number of files. It copies everything as opposed to only changed / new files only.
Then you'll need a tool like rsync, which is available through WSL (windows subsystem linux).
rsync -r localfolder remote-user@host:/home/path
(I personally hesitate to install new tools for a job, hence my desire to stick with what's already available)
Upvotes: 1
Reputation: 270609
Download a copy of pscp.exe (the PuTTY scp companion). If you have setup SSH keys on the Linux server, which you can do with PuTTY on Windows, you can setup password-less copy to Linux machines from Windows.
Upvotes: 5
Reputation: 132988
Install cygwin and you can use scp, ssh etc just like you would on linux. Besides, you can use ordinary bash scripts instead of crappy bat-files.
Upvotes: 1