ftp 传输,我们一般使用 FTP 传输软件,如 CuteFTP、FlashPXP 等软件。但在某些场合,用 ftp 命令能达到事半功倍的效果,比如利用 Windows 批处理中的 ftp 命令,只要双击批处理文件,就可以将预先定义的文件上传至 ftp 服务器了。
Windows 下用 ftp 命令上传文件的基本步骤:
命令提示符中输入 ftp open FTP 服务器地址 用户名 密码 put C:\aaa.rar aaa.rar bye
如果每次的操作是固定的,我们可以将上述命令存为 ftpcommend.bat 批处理文件,双击即执行上传,非常方便。
ftp 命令要求文件名是确定的,如果文件名是以某种规律(如按照日期命名的文件名)动态变化,这个时候就要用到 windows 批处理中的参数传递和临时文件这 2 个东西了。
关于批处理中的参数:
- 批处理文件中的%1、%2...=外部命令的第一个和第二个... 参数。比如外部命令为 AAA.bat a b c,那么在执行 AAA.bat 批处理时,a、b、c 就分别作为第一第二第三个参数传递给 AAA.bat 文件中的%1、%2、%3 使用。
- 关于批处理参数请参考:批处理参数点点谈
例子:用 ftp 批处理上传以日期动态命名的文件(L11011+yyyymmdd.txt)。按如下步骤来操作(//后为注释):
一、将下面的命令保存为.bat 批处理文件,如 ftpcommend.bat
@echo off echo open 192.168.0.6>>ftpcommand.txt //将 echo 回显结果记录到 ftpcommend.txt 文件中,下同 echo user>>ftpcommand.txt //这里的 FTP 地址端口、用户名、密码等根据实际情况修改即可 echo password>>ftpcommand.txt if "%1" == "" pause if "%1" == "put" echo put c:\%2 %2>>ftpcommand.txt echo bye >>ftpcommand.txt ftp -s:ftpcommand.txt //执行 ftpcommend.txt 中的语句 del ftpcommand.txt //这里要删除临时文件(自己执行的时候查看 ftpcomment.txt 这个文件就知道删除的原因了) cls @echo ========================== @echo 数据上传成功,按任意键退出 @echo ========================== pause
二、然后再建立一个 main.bat 的批处理文件,内容如下:
ftpcommand.bat put L11011%date:~0,4%%date:~5,2%%date:~8,2%.txt //这里有两个参数 「put」 和 「L11011%date:~0,4%%date:~5,2%%date:~8,2%.txt」 将分别传递给 ftpcommend.bat 文件中的%1 和%2;
双击 main.bat 文件时,就可以执行文件上传的命令了,并且只上传文件名为今天日期的文件。
echo、%date% 等命令的详细用法可 Google 之或查看本文的参考资料。
参考资料: