FTP批处理脚本挂起在ftp>提示

时间:2013-06-14 19:07:29

标签: batch-file ftp windows-scripting

我正在尝试执行以下批处理脚本以将文件从ftp复制到本地目录。但是,我只能登录到ftp但无法获得要执行的脚本的其余部分(粗体代码)。该脚本挂在ftp>提示。

ftp -i -n -v ftp.domain.com
quote 'User'
quote 'Password'
**cd /iatest
mget * C:\local\directory
pause**

有人可以帮忙吗?谢谢。

让它发挥作用。像我这样的新手的几个项目:您需要两个脚本来执行以下任务:

脚本1(scriptname.bat):使用您的代码调用.bat脚本。

ftp -i -n -s:yourscript.bat

脚本2:您要执行的实际代码,在我的情况下是将文件从ftp复制到特定的本地目录。

open ftp.domain.com
user username
password
cd /ftpDirectoryYouNeedToCopyFrom
lcd C:\DirectoryYouWantToCopyInto
mget * 
bye

这是一个很好的参考: http://www.youtube.com/watch?v=2YJMcns0ILk

2 个答案:

答案 0 :(得分:1)

让它发挥作用。像我这样的新手的几个项目:您需要两个脚本来执行以下任务:

使用您的代码调用.bat脚本来执行。

@ECHO off
:: scriptname.bat
ftp -i -n -s:yourscript.commands
pause

脚本2(yourscript.commands):您要执行的实际代码,在我的情况下是将文件从ftp复制到特定的本地目录。

open ftp.domain.com
user username
password
cd /ftpDirectoryYouNeedToCopyFrom
lcd C:\DirectoryYouWantToCopyInto
mget * 
bye

这是一个很好的参考:http://www.youtube.com/watch?v=2YJMcns0ILk

答案 1 :(得分:0)

有一个pretty good tutorial循环浏览文件并将其上传到FTP上 Intelliadmin。

它会迅速引导您完成所涉及的各个步骤,并简要解释FTP命令背后的原理,然后相当于:

1-设置临时脚本的名称

@set SCRIPT_NAME=FTP_SCRIPT.FTP

2-生成我们的FTP脚本

@echo open [host]> %SCRIPT_NAME%
@echo [username]>> %SCRIPT_NAME%
@echo [password]>> %SCRIPT_NAME%
@echo bin>> %SCRIPT_NAME%
@echo hash>> %SCRIPT_NAME%

3-循环遍历与我们的通配符匹配的每个文件

@for %%f in (*.log) do @echo put %%f>> %SCRIPT_NAME%

echo quit>> %SCRIPT_NAME%

@REM = Now call FTP with our generated script
@ftp -s:%SCRIPT_NAME%`

@REM = Delete our temp script file and we are done
@del %SCRIPT_NAME% /q

来源:http://www.intelliadmin.com/index.php/2010/04/ftp-files-from-a-batch-file/