比如已经知道了ftp用户名和口令分别是ftpuser和ftppass,我想在windows的命令提示符下在ftp后面直接写上用户名、口令以及要登录的服务器就能够登录到ftp服务器上,或者使用一个批处理文件。我的目的是能够让计算机自动在某个时间将本地的文件上传到ftp服务器上,这个想法能否实现?
---------------------------------------------------------------
编个程序吧,兄弟.vb中基本步骤是:
1、调用InternetOpen函数设置环境。
2、调用InternetConnect 函数连接主机。
3、调用FtpPutFile 函数得到文件。
4、用InternetCloseHandle 函数关闭第1、2步的句柄。
5、定时上传
当使用FtpGetFile 时与上面的步骤看起来完全一样。事实上唯一的区别是在第3步中调用了FtpPutFile 。VB特定调用这一函数的声明是:
Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _
ByVal lpszRemoteFile As String, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Boolean
第一个参数hFtpSession 是InternetConnect 调用返回的句柄值。
lpszNewFile 和lpszRemoteFile 分别是本地机上的文件名和将在远程主机上创建的文件名。
参数dwFlags 指定为1时,用ASCII 传输文件(A类传输方法),指定为2是用二进制传输文件(1类传输方法)。由于DIRMAP.TXT 是ASCII 文本文件,我们传递值1。
最后,当使用回叫信号时,lContext 用来识别应用程序前后关系。因为在我们的例子中不使用回叫信号,所以这个值为0。
以下是得到DIRMAP.TXT文件并将其存在 C:\DIRMAP.TXT的调用。
blnRC = FtpPutFile(lngINetConn, “c::\dirmap.txt”, “dirmap.txt”, 1, 0)
如果函数调用成功,blnRC为 True, 反之为False。
---------------------------------------------------------------
那有这么复杂
你看看ftp -h
就知道怎么办了
举例如下
把下面的脚本保存下来为myftp.txt
open ftp.nju.edu.cn
user ftpuser
pass ftppass
binary
get try.file
bye
然后
就可以在命令行下
ftp -s:myftp.txt
了。