1

我正在尝试执行以下批处理脚本将文件从 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

4

2 回答 2

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

于 2013-06-17T16:32:46.013 回答
0

在 Intelliadmin 上有一个关于循环文件并将它们上传到 FTP的非常好的教程。

它会快速引导您完成所涉及的各个步骤,并简要解释 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/

于 2014-04-08T06:28:44.953 回答