【问题标题】:BAT script to copy files from Windows to remote Linux systems将文件从 Windows 复制到远程 Linux 系统的 BAT 脚本
【发布时间】:2011-05-28 14:55:21
【问题描述】:

是否可以使用 DOS 命令/其他命令行工具(通过在命令中指定用户名和密码)将文件从 Windows 机器复制到远程 Linux 机器。我通常使用 WinSCP 执行此操作,并想编写一个脚本 (BAT) 来自动执行此操作。

【问题讨论】:

  • WinSCP 可以从脚本运行。

标签: windows batch-file winscp


【解决方案1】:

您可以使用PuTTYpscp.exe的命令行版本。

【讨论】:

  • 从技术上讲,pscp.exe 不是 PuTTY 的命令行版本,只是安全复制组件。 plink.exe 是 PuTTY 的命令行伴侣,尽管它是为无需启动 shell 的远程命令而设计的。
【解决方案2】:

WinSCP scripting command-line上传文件是这样的:

winscp.com /command "open sftp://username@example.com/" "put d:\www\index.html" "exit"

请参阅guide to WinSCP scripting


更简单的是使用Generate transfer code function 让 WinSCP GUI 生成脚本(甚至是完整的批处理文件)以进行传输。

【讨论】:

  • Ty,关于生成传递函数的更新。这实际上是我计划开始的地方,但不确定它是否存在:)
【解决方案3】:

下载pscp.exe(PuTTY scp 伴侣)的副本。如果您在 Linux 服务器上设置了 SSH 密钥,您可以在 Windows 上使用 PuTTY 执行此操作,您可以设置从 Windows 到 Linux 机器的无密码复制。

【讨论】:

    【解决方案4】:

    安装 cygwin,您可以像在 linux 上一样使用 scp、ssh 等。此外,您可以使用普通的 bash 脚本代替糟糕的 bat 文件。

    【讨论】:

      【解决方案5】:

      如果有人希望在 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

      (我个人不愿为工作安装新工具,因此我希望坚持现有的工具)

      【讨论】:

        猜你喜欢
        • 2013-06-09
        • 1970-01-01
        • 2017-05-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-29
        相关资源
        最近更新 更多