7

适用于 Windows 的最佳免费可编写脚本的 SFTP 客户端是什么?

我看过 WinSCP 和 FileZilla。WinSCP 似乎有很多错误(单击此处),并且 FileZilla 似乎不太可编写脚本。

有什么建议么?

基本上我想做的是:从计划任务中,登录到远程服务器,拉出任何文件,然后从远程服务器中删除它们。

4

9 回答 9

5

你可以使用putty pscp自带的scp客户端。您可以在命令行上使用 pscp,就像在 linux 命令行中使用 scp。

于 2009-06-02T02:34:50.550 回答
4

赛格温。您可以将命令行sftp的强大功能与BASH脚本的强大功能结合起来。所有这一切,在 Windows 中!

于 2009-06-02T01:35:14.523 回答
3

腻子 scp 已经被提及。

我想提一下腻子 psftp.exe,它可能是新的。

使用以下命令行:

psftp.exe -l -pw -b

这将登录到 ftp 服务器并针对它运行file-with-ftp-cmds

完整文档在这里:

http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html

于 2012-03-15T00:45:10.967 回答
1

您可以查看 VanDyke 的 SecureFX。 http://www.vandyke.com/products/securefx/

或 MKS 系统管理员工具包 http://mkstoolkit.com/products/tk/ds_tkother.asp

于 2009-06-02T01:38:32.397 回答
1

我知道这是一个非常古老的问题,但看看 http://redpark.posterous.com/lftp-for-windows

从 cygwin 我只使用 3 个文件:bash.exe、ssh.exe 和 cygssp-0.dll。将它们放在与 redpark 的 lftp 的 Windows 端口相同的目录中,然后编写脚本。

命令行示例:

D:\lftp>bash
bash-4.1# export PATH=.
bash-4.1# lftp sftp://user:pass@somehost.com
lftp user@somehost.com:~> put -c cx160sd.flv
194749860 bytes transferred in 112 seconds (1.67M/s)
lftp user@somehost.com:/> exit
bash-4.1# exit
exit

D:\lftp>

它不是单一的 exe 解决方案,但事实证明上传速度是 pscp.exe 上传速度的两倍

编辑:现在后继的新 URL 已停止: http ://envelopepushing.wordpress.com/2010/08/24/lftp-for-windows/

于 2011-09-04T02:11:24.710 回答
0

不是免费的,但请查看edtFTPnet/PRO以获得在 Windows 上支持 SFTP 的综合脚本引擎。

这是一个示例脚本:

# Sample SFTP script 
set remotehost=edtmobile
set user=javaftp
set password=javaftp
set protocol=sftp
set localdir=D:\work\tmp

# connect to the server
open

# change dir
cd remote/test

# put the local file test.txt to the server as mytest.txt
put test.txt mytest.txt

# disconnect
close
于 2009-06-04T01:14:54.497 回答
0

其他人注意:要创建计划任务,只需打开文本编辑器并写出 pscp 命令。然后将文件保存为 .bat 文件。文档的第 5 章和第 6 章包含您想知道的有关 pscp 工作原理的所有内容。

请注意, pscp 对于具有源和目标非常特别。如果您不提供这些,pscp 将简单地默认返回使用消息。

这是一个例子:

c:\pscp.exe -pw [your password] -batch -sftp someuser@example.com:/* c:\yourlocation

在此示例中,pscp.exe 位于 c 目录的根目录中。-batch 禁用交互式提示,以便它们不会中断自动化任务。-sftp 强制使用 sftp 协议,因为在问题中指定了 sftp。:/* 通配符将带回源中的所有内容,而 c:\yourlocation 指定它在您的计算机上的最终位置。

要将其安排为自动化任务,只需打开计划任务。在 XP 中,这是在系统工具中。然后将任务指向您创建的 .bat 文件,给它一个运行时间,然后您就设置好了。

于 2011-05-24T21:55:11.310 回答
0

急速FTP;免费,提供可移植版本,并具有全面的脚本 API(与 LUA 语言兼容)。

于 2013-07-30T09:11:51.810 回答
0

如果您使用 powershell,您可以使用 netcmdlets (www.netcmdlets.com) 之类的东西。它本身不是客户端,而是一组用于 Internet 通信的库 (cmdlet)。还有一个免费的个人版。很容易配置调度任务来调用 powershell 脚本,并且您可以通过代码获得完全灵活/可扩展的好处。

于 2013-07-31T20:30:57.677 回答