如何将文件从Windows传输到Linux服务器,使用shell脚本处理它,然后下载结果

时间:2013-01-08 17:56:39

标签: linux windows shell sftp scp

我通常使用WinSCP执行此操作:我将.tex文件从本地Windows计算机传输到Linux服务器。我为我运行了一个脚本(在服务器上)pdflatex文件。然后我再次使用WinSCP将输出.pdf再次复制到我的本地Windows机器上。我想在我的脚本中自动执行复制过程。

因此,第一步是将file.texC:\Doc...\source复制到~/Documents。我想我需要使用scp命令,但服务器将我的本地计算机视为远程计算机。这就是为什么我对如何指定第一个目录感到困惑:

$scp C:\Doc...\source\file.tex ~/Documents

不起作用,因为服务器不知道如何与本地计算机通信。对于我需要用scp命令将file.pdf复制回本地Windows机器,我遇到了同样的问题。

有人可以帮我解决这两个scp命令吗?

提前致谢!

1 个答案:

答案 0 :(得分:3)

您可以使用WinSCP in scripting mode。它(自然地)支持上传/下载。但它也可以使用call command在服务器上执行shell脚本(有一些限制,在您的简单情况下这无关紧要):

winscp.com /log=winscp.log /command ^
    "open scp://username:password@example.com/" ^
    "cd /remote/path" ^
    "put my.tex" ^
    "call pdflatex ..." ^
    "get my.pdf" ^
    "exit"

(我是WinSCP的作者)