在FTP上搜索文件

时间:2012-02-12 07:58:52

标签: ftp batch-file

我想使用FTP批处理脚本使用if-exists filename -else语句查找FTP中是否存在文件,如下所示:

ftp.txt open ftp.mysite.com
ftp.txt username
ftp.txt password
ftp.txt if exist filename (echo file exists) else (echo file doesn't exist)
ftp.txt quit
ftp -s:ftp.txt

上面的if-exist行不起作用。 还有其他搜索方式吗?

1 个答案:

答案 0 :(得分:1)

不要在FTP脚本中执行逻辑。

从批处理文件中调用ftp.txt脚本。在你的ftp.txt脚本中,只需对你的文件进行GET。如果文件在那里,它将被下载到本地目录。否则,它不会。调用FTP脚本后,使用标准DOS批处理命令检查文件是否存在于本地目录中,即:

@echo off

:FETCHFILE
ftp -s:ftp.txt
IF EXIST filetocheckfor.txt (
   REM the file was there, so do something
) ELSE
   echo Trying again...
   REM ping "sleep" would go here
   GOTO FETCHFILE
)

如果您想在重试中建立延迟,请通过ping伪造的IP地址执行“休眠”,如本文所述: http://www.dullsharpness.com/2010/06/14/elapsed-timer-using-pure-ms-dos/