有没有办法通过DOS命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从Windows机器复制到远程Linux机器。我通常使用WinSCP进行此操作,并希望编写一个脚本(BAT)来自动化此过程。
WinSCP脚本命令行上传文件的方式如下:
winscp.com /command "open sftp://username@example.com/" "put d:\www\index.html" "exit"
查看WinSCP脚本指南。
下载pscp.exe(PuTTY scp伴侣程序)的副本。如果您已在Linux服务器上设置了SSH密钥,您可以使用Windows上的PuTTY设置无密码从Windows复制到Linux机器。
如果有人想在2022年这样做,Windows 10现在已经带有scp。您可以执行以下命令:
scp path/localfile.txt remote-user@host:/home/path
或对于目录的递归版本:
scp -r localfolder remote-user@host:/home/path
当然,如果您拥有大量文件,则使用scp会遇到问题。它会复制所有文件,而不是仅更改/新文件。
然后,您将需要像rsync这样的工具,该工具可通过WSL(Windows子系统Linux)获得。
rsync -r localfolder remote-user@host:/home/path
(我个人不喜欢安装新工具来完成一项工作,因此我希望坚持使用已经可用的方法)