标题: DOS批处理实现自动FTP功能--不明白,请大家帮我!!
[打印本页]
作者: lovehack2006
时间: 2007-2-16 02:43
标题: DOS批处理实现自动FTP功能--不明白,请大家帮我!!
DOS批处理实现自动FTP功能
跟UNIX的SHELL编程来说,DOS的批处理编程功能没那么强大,不过有时候不想动刀动枪的(开发工具),用批处理实现一些功能还是很方便的。
本文就是为了应对每日自动从服务器取数据写的批处理,利用了WINDOW平台的AT功能和DOS 批处理。
该程序在WIN2000下通过。
功能如同标题,比较简单,就不介绍了,下面是整个代码,大家自己看吧:)
@echo off
rem FileName : myftp
rem 本程序从各FTP服务器取对应数据保存到机器目录,每次根据系统时间建立日期目录
rem 保存数据
rem 如果需要定时执行,请执行AT命令或者在 开始-》设置-》控制面板-》任务计划 中定义
rem 数据保存目录,在该目录下按日期建子目录
set LOCAL_HOME=f:
cd %LOCAL_HOME%
rem 取系统日期
@FOR /F "usebackq delims= " %%i IN (`date /T`) DO set WORKDATE=%%i
rem 判断日期目录是否存在,不存在就建
if not exist %WORKDATE% md %WORKDATE%
rem 判断命令是否执行成功
if not errorlevel 0 echo 建立目录[%WORKDATE%]失败
rem 进入对应日期目录
cd %WORKDATE%
rem 从FTP服务器取数据,多个FTP则重复该部分内容
rem @echo为在FTP方式下的命令操作顺序
rem 数据
@echo open 127.0.0.1>ftpcmd
@echo user guest guest>>ftpcmd
@echo prompt>>ftpcmd
@echo cd data>>ftpcmd
@echo get EXCHANGE%WORKDATE%>>ftpcmd
@echo get INSTERESTRATE>>ftpcmd
@echo bye>>ftpcmd
@ftp -n<ftpcmd >null
@del ftpcmd
rem 返回到起始目录
cd %LOCAL_HOME%
cd ..
以上的批处理,我有几个地方不明白---请大家帮我一下!!
1、
首先我要问的是 我们用 >>写入的文件有没有限制,,是不是任何文件都可以
不过我看的大多文章都是说写入的是一个文本文件,,这里写入的是ftpcmd
没有扩展名,,一般的文章写的是 某个txt文件!!(我指的仅是这个P)
2、@ftp -n<ftpcmd >null
这句话我不明白,,我也看过相关的教程说是不显示P的命令提示
什么虚拟设备的。。。这个是不是会生成一个文件 null 无扩展名的??
3、一般的关于FTP的教程写的是ftp -s 的这里为什么不用-s ?
4、set LOCAL_HOME=f: 这个地方不明白,设目录为F:吗?
如果想进入F盘不就是F:就行 吗?干吗后面还要加一个CD???