百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>服务器> WinSCP软件同步本地或远程FTP的目录
分享文章到:

WinSCP软件同步本地或远程FTP的目录

发布时间:01/15 来源: 浏览: 关键词:
WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端。同时支持SCP协议。它的主要功能就是在本地与远程计算机间安全的复制文件


特性

•图形用户界面
•多语言
•与 Windows 完美集成(拖拽, URL, 快捷方式)
•支持所有常用文件操作
•支持基于 SSH-1、SSH-2 的 SFTP 和 SCP 协议
•支持批处理脚本和命令行方式
•多种半自动、自动的目录同步方式
•内置文本编辑器
•支持 SSH 密码、键盘交互、公钥和 Kerberos(GSS) 验证
•通过与 Pageant(PuTTY Agent)集成支持各种类型公钥验证
•提供 Windows Explorer 与 Norton Commander 界面
•可选地存储会话信息
•可将设置存在配置文件中而非注册表中,适合在移动介质上操作


WinSCP 可以执行所有基本的文件操作,例如下载和上传。同时允许为文件和目录重命名、改变属性、建立符号链接和快捷方式。

两种可选界面允许用户管理远程或本地的文件。

连接到远程计算机

使用 WinSCP 可以连接到一台提供 SFTP (SSH File Transfer Protocol)或 SCP (Secure Copy Protocol)服务的 SSH (Secure Shell)服务器,通常是 UNIX 服务器。SFTP 包含于 SSH-2 包中,SCP 在 SSH-1 包中。两种协议都能运行在以后的 SSH 版本之上。WinSCP 同时支持 SSH-1 和 SSH-2。但WinSCP不支持编码选择,也就是说,你在Windows下使用WinSCP连接一个Linux机器,因为Linux和Windows的默认编码不同,因此是无法访问上面的中文文件或者文件夹的(将看到乱码)。一种解决方法就是在打开winscp时登录中的 Advanced Options–Environment中将 “UTF-8 encoding for filenames”设为on.

 

安装时勾选添加到系统PATH。
有的时候我们会将远程FTP上的文件同步到本地,通过运行我们编写的程序对文件进行一系统的操作,会产生一些输出文件,然后再将处理后的文件同步到远程FTP上.
针对上述中的远程文件同步到本地或本地文件同步到远程FTP上的情况,我们可以利用Winscp软件,执行一系列的FTP命令.winscp软件可在网上下载.
winscp的命令范例:
 代码如下
# winscp.exe /console /script=sample.txt 
# Automatically answer all prompts negatively not to stall
# the script on errors
# option echo  on|off
option echo off
# option batch on|off|abort|continue
option batch on
# option confirm  on|off
option confirm off
# option transfer  binary|ascii|automatic
# option synchdelete  on|off
# option exclude clear | <mask>[;<mask2>...]
# option include clear | <mask>[;<mask2>...]
# open [ sftp|ftp|scp:// ][ <user> [ :password ] @ ] <host> [ :<port> ]
# open user:password@example.com
# Connect   FTP地址
open ftp://用户名:密码@ftp.chenpeng.info:21
# Change remote directory
# cd /home/user   如果同步到远程FTP时,可用此命令转到远程某个目录下.
# Change local directory
# set to Self’s working dir  设置需要同步到远程FTP的本地文件目录
lcd D:TempTest_Ftp
# Force binary mode transfer
option transfer binary
# Download file to the local directory d:
# get examplefile.txt d:
# option synchdelete  on|off
option synchdelete off
# option include clear | <mask>[;<mask2>...]
# option include /2008-*-*/;/2009-*-*/;/2010-*-*/;/2011-*-*/;/2012-*-*/;/2013-*-*/
# synchronize local|remote|both [ <local directory> [ <remote directory> ] ]  从远程同步到本地用Local;从本地同步到远程用Remote
synchronize local  
# Disconnect
close
# Exit WinSCP
exit
将上述脚本存成sample.txt文件,然后通过winscp.exe /console /script=sample.txt  命令执行文件同步操作.
我们通常可以将此命令写到批处理.bat文件中,将要运行的用户编写的本地.ext程序也写入批处理文件中,然后放到控制面板->计划任务中,这样程序可定时执行,不需要用户再反复从远程取文件,执行程序,再上传到远程这一系列操作.
曾遇到问题: 客户提供的FTP账号,是ASCII码读到,导致用Winscp软件连接不上?
解决办法:打开Winscp软件,创建登录点,点击”Connection”,将红圈中的复选框打勾,点击”Save”.
打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有4人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板