中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 17:24
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS疑难解答 & 问题讨论 (解答室) » [求助]dos批处理怎样处理带参数的ftp
可打印版本  2,707 / 4
第1楼 rhengzhe 发表于 2004-07-26 00:00
初级用户 发帖 3 积分 110
[求助]dos批处理怎样处理带参数的ftp
dos批处理中使用ftp命令时,可以使用ftp -s:filename 的方式取得文件,但是如果在filename文件中添加参数该怎么处理?
第2楼 Climbing 发表于 2004-07-26 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
你想添加什么参数?filename相当于FTP提示符下的一个批处理文件,这里面每一行也会列出一个FTP命令,加什么参数取决于FTP提示符下提供的命令的功能。如果命令不能实现的,你当然也加不到filename文件中。
第3楼 rhengzhe 发表于 2004-07-27 00:00
初级用户 发帖 3 积分 110
首先感谢您的回复,我也通读了您的帖子。
简单的说,我的目的在于编写一个批处理文件,可以实现我到固定机器固定目录下ftp获得任意文件的目的,比如说:我今天想获得文件 ss.txt,那么我执行 myftp ss.txt,而我明天想获得文件 dd.txt,那么我执行 myftp dd.txt。(myftp即我需要的批处理文件),但我不知道如何将 ss.txt(dd.txt)以参数的方式被引用于filename中。
但愿我的表述能够让您充分理解我的意图。
再次感谢您的帮助。
第4楼 Climbing 发表于 2004-07-27 00:00
铂金会员 发帖 2,753 积分 6,962 来自 河北保定
确实理解了。而且实现起来并不复杂。两种方法吧:1、先编写好一个filename的模板,在里面将你要get的文件名用一个特定的字符串标识出来,例如你可以标识成%MyFile%。然后你可以在myftp这个批处理中使用字符串替换命令(例如change)临时将filename中的字符串替换成你要取得的文件名,然后使用ftp -s:filename的方式下载文件。当然,为了重复这个过程,你可以需要在对filename进行替换操作之前先备份一下这个文件。例如:copy filename temp
replace temp with %1
ftp -s:temp
del temp
2、你可以在myftp.bat中动态生成filename文件,例如:
echo open ServerIP Port > filename
echo anonymous >> filename
echo someone@on.the.net >> filename
echo cd /somedir >> filename
echo get %1 >> filename
echo bye >> filename
ftp -s:filename其实还有另一种办法,你可以使用wget来代替ftp。
wget ftp://user:password@serverip/somedir/%1这一条命令就够了。上面给出的样例脚本都是myftp.bat的内容,只是描述你要做的操作,请根据实际情况完善。
第5楼 rhengzhe 发表于 2004-07-29 00:00
初级用户 发帖 3 积分 110
非常感谢,而且佩服得五体投地。
再次感谢
!!!!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023