盆盆罐罐

上海邦麦信息科技有限公司旗下子网站;POS系统、计算机技术资料搜集

用Windows批处理中的ftp命令上传动态文件名的文件

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. 批处理文件中的%1、%2…=外部命令的第一个和第二个…参数。比如外部命令为AAA.bat a b c,那么在执行AAA.bat批处理时,a、b、c就分别作为第一第二第三个参数传递给AAA.bat文件中的%1、%2、%3使用。
  2. 关于批处理参数请参考:批处理参数点点谈

例子:用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之或查看本文的参考资料。

参考资料:

  1. ftp命令大全及应用实例
  2. Windows下通过FTP自动上传和下载动态文件名
  3. 批处理参数点点谈
  4. windows 下%date:~0,10%用法
  5. 在Windows批处理中获取系统日期、时间戳记

分类:Windows, Network

标签:,

对本文发表评论





1 + 0 = ?

注意:
1、请勿单纯发表顶啊、打酱油之类无任何意义的评论,否则将被视为spam!谢谢合作!
2、但欢迎你留下对本文的看法或技术上的任何疑问,我会及时回复你。