**下载函数(即: 远程 -> 本地)
PROCEDURE GetFtp
**FILENAME:要下载的文件名
**MYPATHNAME:本地路径
**HEPATHNAME:远程路径
PARAMETER FILENAME,MYPATHNAME,HEPATHNAME
PRIVATE cFILENAME,OWSH
**cFILENAME:生成一个包含FTP命令的文件.(注:为全路径)
cFILENAME=FULLPATH(CURDIR())+'FTP.TXT'
**指定FTP服务器地址
STRTOFILE("open 192.168.1.1"+CHR(13)+CHR(10),cFILENAME,.F.)
**指定FTP服务器登录用户
STRTOFILE("myname"+CHR(13)+CHR(10),cFILENAME,.T.)
**指定FTP服务器登录密码
STRTOFILE("mypassword"+CHR(13)+CHR(10),cFILENAME,.T.)
**使用二进制传输方式,可加速上传下载速度
STRTOFILE("bin "+CHR(13)+CHR(10),cFILENAME,.T.)
**进入远程主机目录
STRTOFILE("cd /" + HEPATHNAME + CHR(13) + CHR(10),cFILENAME,.T.)
**关闭文件传输时的交互提示(自动设置为“Y”)
STRTOFILE("prompt off"+CHR(13)+CHR(10),cFILENAME,.T.)
**将本地工作目录切换至指定目录
STRTOFILE("lcd " + MYPATHNAME +CHR(13)+CHR(10),cFILENAME,.T.)
**如果要下载的文件名为空时,就下载所有文件
IF ALLTRIM('FILENAME') = ''
STRTOFILE("mget *.*"+CHR(13)+CHR(10),cFILENAME,.T.)
**下载完毕,删除远程目录下的所有文件
STRTOFILE("mdelete *.*"+CHR(13)+CHR(10),cFILENAME,.T.)
**否则,就下载指定文件
ELSE
STRTOFILE("get " + FILENAME +CHR(13)+CHR(10),cFILENAME,.T.)
**删除指定文件
STRTOFILE("delete " + FILENAME +CHR(13)+CHR(10),cFILENAME,.T.)
ENDIF
**退出FTP
STRTOFILE("bye"+CHR(13)+CHR(10),cFILENAME,.T.)
**执行FTP
OWSH=CREATEOBJECT("wscript.shell")
OWSH.RUN("ftp -s:d:/TyTerminal/FTP.txt",0,.T.)
RELEASE OWSH
SET SAFETY OFF
**删除生成的FTP命令的文档
DELETE FILE d:/FTP.txt
ENDPROC
**上传函数(即: 本地 -> 远程)
PROCEDURE PutFtp
PARAMETER FILENAME,MYPATHNAME,HEPATHNAME
PRIVATE cFILENAME,OWSH
cFILENAME=FULLPATH(CURDIR())+'FTP.TXT'
STRTOFILE("open 192.168.1.1"+CHR(13)+CHR(10),cFILENAME,.F.)
STRTOFILE("myname"+CHR(13)+CHR(10),cFILENAME,.T.)
STRTOFILE("mypassword"+CHR(13)+CHR(10),cFILENAME,.T.)
STRTOFILE("bin "+CHR(13)+CHR(10),cFILENAME,.T.)
STRTOFILE("cd /" + HEPATHNAME + CHR(13) + CHR(10),cFILENAME,.T.)
STRTOFILE("prompt off"+CHR(13)+CHR(10),cFILENAME,.T.)
**如果要上传的文件名为空时,就上传所有文件
IF ALLTRIM('FILENAME') = ''
STRTOFILE("mput " + MYPATHNAME + "*.*"+CHR(13)+CHR(10),cFILENAME,.T.)
**否则,就上传指定文件
ELSE
STRTOFILE("put " + MYPATHNAME + FILENAME +CHR(13)+CHR(10),cFILENAME,.T.)
ENDIF
STRTOFILE("bye"+CHR(13)+CHR(10),cFILENAME,.T.)
OWSH=CREATEOBJECT("wscript.shell")
OWSH.RUN("ftp -s:d:/TyTerminal/FTP.txt",0,.T.)
RELEASE OWSH
SET SAFETY OFF
**删除上传完毕的文件
DELETE FILE MYPATHNAME + "/" + FILENAME
DELETE FILE d:/FTP.txt
ENDPROC