Board logo

标题: [求助]dos批处理怎样处理带参数的ftp [打印本页]

作者: rhengzhe     时间: 2004-7-26 00:00    标题: [求助]dos批处理怎样处理带参数的ftp

dos批处理中使用ftp命令时,可以使用ftp -s:filename 的方式取得文件,但是如果在filename文件中添加参数该怎么处理?[em06]
作者: Climbing     时间: 2004-7-26 00:00
你想添加什么参数?filename相当于FTP提示符下的一个批处理文件,这里面每一行也会列出一个FTP命令,加什么参数取决于FTP提示符下提供的命令的功能。如果命令不能实现的,你当然也加不到filename文件中。
作者: rhengzhe     时间: 2004-7-27 00:00
首先感谢您的回复,我也通读了您的帖子。
简单的说,我的目的在于编写一个批处理文件,可以实现我到固定机器固定目录下ftp获得任意文件的目的,比如说:我今天想获得文件 ss.txt,那么我执行 myftp  ss.txt,而我明天想获得文件 dd.txt,那么我执行 myftp  dd.txt。(myftp即我需要的批处理文件),但我不知道如何将 ss.txt(dd.txt)以参数的方式被引用于filename中。
但愿我的表述能够让您充分理解我的意图。
再次感谢您的帮助。
作者: Climbing     时间: 2004-7-27 00:00
确实理解了。而且实现起来并不复杂。两种方法吧: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的内容,只是描述你要做的操作,请根据实际情况完善。
作者: rhengzhe     时间: 2004-7-29 00:00
非常感谢,而且佩服得五体投地。
再次感谢
!!!!