开发者

BAT script to copy files from Windows to remote Linux systems

Is there anyway to copy files from Window开发者_运维百科s 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.


You could use the command line version of PuTTY, pscp.exe.


WinSCP scripting command-line to upload a file is like:

winscp.com /command "open sftp://username@example.com/" "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.

BAT script to copy files from Windows to remote Linux systems


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)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜