适用于 Windows 的最佳免费可编写脚本的 SFTP 客户端是什么?
我看过 WinSCP 和 FileZilla。WinSCP 似乎有很多错误(单击此处),并且 FileZilla 似乎不太可编写脚本。
有什么建议么?
基本上我想做的是:从计划任务中,登录到远程服务器,拉出任何文件,然后从远程服务器中删除它们。
你可以使用putty pscp自带的scp客户端。您可以在命令行上使用 pscp,就像在 linux 命令行中使用 scp。
腻子 scp 已经被提及。
我想提一下腻子 psftp.exe,它可能是新的。
使用以下命令行:
psftp.exe -l -pw -b
这将登录到 ftp 服务器并针对它运行file-with-ftp-cmds。
完整文档在这里:
http://the.earth.li/~sgtatham/putty/0.52/htmldoc/Chapter6.html
您可以查看 VanDyke 的 SecureFX。 http://www.vandyke.com/products/securefx/
或 MKS 系统管理员工具包 http://mkstoolkit.com/products/tk/ds_tkother.asp
我知道这是一个非常古老的问题,但看看 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/
不是免费的,但请查看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
其他人注意:要创建计划任务,只需打开文本编辑器并写出 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 文件,给它一个运行时间,然后您就设置好了。
急速FTP;免费,提供可移植版本,并具有全面的脚本 API(与 LUA 语言兼容)。
如果您使用 powershell,您可以使用 netcmdlets (www.netcmdlets.com) 之类的东西。它本身不是客户端,而是一组用于 Internet 通信的库 (cmdlet)。还有一个免费的个人版。很容易配置调度任务来调用 powershell 脚本,并且您可以通过代码获得完全灵活/可扩展的好处。