用于Windows的最佳免费脚本化SFTP客户端是什么?
我看过WinSCP和FileZilla。 WinSCP看起来很buggy (click here),而FileZilla看起来似乎不太可编写脚本。
有什么建议吗?
基本上我想做的是:从计划任务,登录到远程服务器,拉过任何文件,然后从远程服务器删除它们。
答案 0 :(得分:5)
您可以使用putty pscp附带的scp客户端。您可以在命令行中使用pscp,如linux命令行中的scp。
答案 1 :(得分:4)
答案 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脚本很容易,并且您可以通过代码完全灵活/可扩展。