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.
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.
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.
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.
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)
© 2022 - 2024 — McMap. All rights reserved.