无论如何使用DOS命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从Windows机器复制到远程Linux机器。我通常使用 WinSCP 执行此操作,并想编写一个脚本 (BAT) 来自动执行此操作。
5 回答
上传文件的WinSCP 脚本命令行如下:
winscp.com /command "open sftp://username@example.com/" "put d:\www\index.html" "exit"
请参阅WinSCP 脚本编写指南。
更简单的方法是使用生成传输代码功能让 WinSCP GUI 为传输生成脚本(甚至是完整的批处理文件)。
下载pscp.exe(PuTTY scp 伴侣)的副本。如果您在 Linux 服务器上设置了 SSH 密钥,您可以在 Windows 上使用 PuTTY 执行此操作,您可以设置从 Windows 到 Linux 机器的无密码复制。
安装 cygwin,你可以像在 linux 上一样使用 scp、ssh 等。此外,您可以使用普通的 bash 脚本来代替糟糕的 bat 文件。
如果有人希望在 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
(我个人犹豫是否为工作安装新工具,因此我希望坚持现有的工具)