首先,先打开cmd,看下ftp命令是否是开通了的,如果提示ftp不是支持的命令,则需要自己去控制面板-程序以及功能-打开ftp功能。然后就是先自己用cmd命令,进行一次ftp的登入以及get put 文件操作。open 服务器ip 依次输入用户名 密码 ,然后就可以进入到对方服务器的相关目录 ,进行get put操作。
ftp>open 10.10.10.10
ftp>name
ftp>password
ftp>get 1.txt
ftp>bye
ftp更多命令可以查看(注明:转载)http://blog.csdn.net/u012467492/article/details/53693061
下一步,就是编写一个bat脚本 ,命名为 ftp脚本.bat
@echo off
ftp -i -s:"ftp.txt"
-i:关闭文件传输过程中的交互式提示, -s:filename 指定ftp命令的文本文件 ,这些可以通过 ftp --help来了解。双引
号的作用是若文件路径有特殊字符,则加上。若命名规范可以不加。把咱们的ftp命令放在ftp.txt中,注意不需要 ftp>,再
然后我们在控制面板中找到任务计划程序,把 ftp脚本.bat 设置每隔10分钟自动执行,整个就完成了。
因为我们本机是不自带fstp命令的,所以我们需要下载相应的软件,我用的是psftp工具,在PUTTY官网www.putty.org
上就可以下载到PSFTP。下载安装之后,皆可以在cmd窗口打sftp命令了,照样我们先用cmd进行一次连接。
open 10.10.10.10
name
password
get 1.txt
bye
sftp与ftp的命令大多是相同的,我们可以看到并没有什么太大的区别。接下来我们 输入 sftp --help,可以看到 -l 用户名,
-pw 密码 -b:filename 相应的sftp命令文件。我们按照上面的ftp的方式进行编写脚本。
@echo off
psftp -b "sftp.txt"
但是编写好之后,我们可以发现是错误的,它不会正确运行,会要求输入用户名和密码。所以我们需要在bat文件里,
就为sftp连接指定用户名密码 :psftp 10.10.10.10 -l name -pw mima -b "sftp.txt",这样bat文件就可以正确运行。
然后在指定每10分钟运行一次,就完成了。
在本人自己编写sftp脚本时,遇到了一个密码包含特殊字符(%)的情况,经过查找相关资料 ,
转-http://www.bathome.net/thread-1224-1-1.html
,才发现bat有很多特殊字符,所以导致psftp 10.10.10.10 -l name -pw mima -b "sftp.txt"这个命令可以在
cmd中运行,但在bat中却会报错,所以 将密码 sf2%ea2 改成 “sf2%%ea2”,脚本就正确运行了。