什么是Windows最好的免费脚本化SFTP客户端?

时间:2009-06-02 01:30:40

标签: windows sftp

用于Windows的最佳免费脚本化SFTP客户端是什么?

我看过WinSCP和FileZilla。 WinSCP看起来很buggy (click here),而FileZilla看起来似乎不太可编写脚本。

有什么建议吗?

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

9 个答案:

答案 0 :(得分:5)

您可以使用putty pscp附带的scp客户端。您可以在命令行中使用pscp,如linux命令行中的scp。

答案 1 :(得分:4)

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

答案 2 :(得分:3)

已经提到了Putty scp。

我想提一下可能是新的putty psftp.exe。

使用以下命令行:

psftp.exe -l -pw -b

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

完整文档:

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

答案 3 :(得分:1)

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

或适用于Sys管理员的MKS工具包 http://mkstoolkit.com/products/tk/ds_tkother.asp

答案 4 :(得分:1)

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

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

命令行示例:

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上传速度的两倍

编辑:现在已经停止的新网址已停止: http://envelopepushing.wordpress.com/2010/08/24/lftp-for-windows/

答案 5 :(得分: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

答案 6 :(得分: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文件,给它一段时间来运行,然后进行设置。

答案 7 :(得分:0)

赶紧FTP;免费,提供便携版本,并具有全面的脚本API(与LUA语言兼容)。

答案 8 :(得分:0)

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