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