【发布时间】:2011-05-28 14:55:21
【问题描述】:
是否可以使用 DOS 命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从 Windows 机器复制到远程 Linux 机器。我通常使用 WinSCP 执行此操作,并想编写一个脚本 (BAT) 来自动执行此操作。
【问题讨论】:
-
WinSCP 可以从脚本运行。
标签: windows batch-file winscp
是否可以使用 DOS 命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从 Windows 机器复制到远程 Linux 机器。我通常使用 WinSCP 执行此操作,并想编写一个脚本 (BAT) 来自动执行此操作。
【问题讨论】:
标签: windows batch-file winscp
WinSCP scripting command-line上传文件是这样的:
winscp.com /command "open sftp://username@example.com/" "put d:\www\index.html" "exit"
更简单的是使用Generate transfer code function 让 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
(我个人不愿为工作安装新工具,因此我希望坚持现有的工具)
【讨论】: