![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-09-25 13:58 |
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,274 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » DOS批处理实现自动FTP功能-有些不明,请指教! |
| 可打印版本 1,181 / 12 |
| 第1楼 lovehack2006 | 发表于 2007-02-14 15:27 |
| 初级用户 发帖 64 积分 135 | |
|
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 建立目录失败 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??? [ Last edited by lovehack2006 on 2007-2-14 at 03:08 AM ] |
|
| 第2楼 lovehack2006 | 发表于 2007-02-15 13:37 |
| 初级用户 发帖 64 积分 135 | |
|
没有人回我的贴子,我顶。。。
|
|
| 第3楼 lovehack2006 | 发表于 2007-02-16 02:42 |
| 初级用户 发帖 64 积分 135 | |
|
我再顶哦。。。没人看的。。没有人帮我吗?
|
|
| 第4楼 htysm | 发表于 2007-02-16 03:43 |
| 高级用户 发帖 415 积分 866 | |
|
if not errorlevel 0 echo 建立目录[%WORKDATE%]失败
这个命令最厌人,有时候不能成功执行的。 |
|
| 第5楼 rubik | 发表于 2007-02-16 04:05 |
| 初级用户 发帖 35 积分 102 | |
|
Transfers files to and from a computer running an FTP server service
(sometimes called a daemon). Ftp can be used interactively. FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuf fer] [-b:asyncbuffers] [-w:windowsize] [host] -v Suppresses display of remote server responses. -n Suppresses auto-login upon initial connection. -i Turns off interactive prompting during multiple file transfers. -d Enables debugging. -g Disables filename globbing (see GLOB command). -s:filename Specifies a text file containing FTP commands; the commands will automatically run after FTP starts. -a Use any local interface when binding data connection. -A login as anonymous. -x:send sockbuf Overrides the default SO_SNDBUF size of 8192. -r:recv sockbuf Overrides the default SO_RCVBUF size of 8192. -b:async count Overrides the default async count of 3 -w:buffer size Overrides the default transfer buffer size of 65535. host Specifies the host name or IP address of the remote host to connect to. Notes: - mget and mput commands take y/n/q for yes/no/quit. - Use Control-C to abort commands. -- 提问还是不要加红字吧,感觉那是高手回答才用的字体,呵呵 -- 提问还是不要加红字吧,感觉那是高手回答才用的字体,呵呵 |
|
| 第6楼 vkill | 发表于 2007-02-16 05:10 |
| 金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽 | |
|
1. 这个没有是规定的,什么文件都可以,没有后缀也可以的啊
2. 你试下不就知道了 3. <txt 也是从文件获取,你用过nc吗?nc就是这样用的 4. 用set是为了以后改的方便 |
|
| 第7楼 zjonah | 发表于 2007-02-16 12:17 |
| 新手上路 发帖 5 积分 10 | |
|
顶一下吧
|
|
| 第8楼 yangzhiyi | 发表于 2007-02-16 13:22 |
| 中级用户 发帖 123 积分 261 | |
|
1. 这个没有是规定的
2. >null 应为>nul ,所以就生成一个 >null 文件 3.-n 在建立初始连接后禁止自动登录功能。<ftpcmd 是从ftpcmd文件中读取命令, ftpcmd 文件如果是正确的话用 ftp -s 是最好的,命令本身的功能。 4.set LOCAL_HOME=f: 设置个 LOCAL_HOME变量为F: 盘 cd %LOCAL_HOME% 就是想进入到F: 的意思,但这错了。如果是想保存在F盘的话应该为 set LOCAL_HOME=f: %LOCAL_HOME% cd\ 如果是想保存当前位置的话应该为 set "LOCAL_HOME=%cd%" 但从上面看它根本不用设置它,不要它和后面的就行。 |
|
| 第9楼 gne3 | 发表于 2007-02-17 01:00 |
| 高级用户 发帖 252 积分 526 | |
|
顶下了
|
|
| 第10楼 lovehack2006 | 发表于 2007-02-17 03:10 |
| 初级用户 发帖 64 积分 135 | |
Originally posted by yangzhiyi at 2007-2-16 12:22 AM: 谢谢兄弟们了,,,我来试一下哦。。。。 |
|
| 第11楼 bd123456789 | 发表于 2007-06-29 22:43 |
| 中级用户 发帖 216 积分 360 | |
Originally posted by yangzhiyi at 2007-2-16 01:22 PM: 在建立初始连接后禁止自动登录功能 这句话是什么意思???? |
|
| 第12楼 bd123456789 | 发表于 2007-06-29 22:50 |
| 中级用户 发帖 216 积分 360 | |
Originally posted by yangzhiyi at 2007-2-16 01:22 PM: 在建立初始连接后禁止自动登录功能 这句话是什么意思???? |
|
| 第13楼 sonicandy | 发表于 2007-06-30 20:20 |
| 中级用户 发帖 91 积分 273 | |
|
我觉得自动登录就是自动用匿名帐户anonymous登录
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |