需要从批处理脚本执行FTP命令

时间:2012-09-27 11:40:28

标签: command-line command batch-file

  

需要编写将文件从FTP复制到本地驱动器的批处理脚本

我正在尝试使用cmd命令提示符

来实现此目的

批处理文件

请帮我或粘贴任何线程。

我发现答案很多,但是,

我需要使用2个文件script.txtbatch.bat

其中包含script.txt代码:

open ftp.server.com
username
password
cd folderpath/newfolder
get file1.xml
close
bye

和batch.bat代码

ftp -v -i -s:script.txt
echo done!
  

但是如何只使用.bat文件来完成它,这样我只需要1个文件而不需要2个文件

1 个答案:

答案 0 :(得分:2)

作为一个起点:

  
      
  1. 为FTP站点执行NSLOOKUP,例如nslookup ftp.microsoft.com记下IP地址
  2.   
  3. 编辑LMHOSTS文件(在%systemroot%\ system32 \ drivers \ etc中)
  4.   
  5. 添加MicrosoftFTP #PRE行,例如207.46.133.140 MicrosoftFTP #PRE
  6.   
  7. 保存文件
  8.   
  9. 打开CMD.EXE会话。输入命令:nbtstat -R这将清除并重新加载名称表缓存
  10.   
  11. 类型命令:net view \ MicrosoftFTP您应该看到网站上的信息
  12.   
  13. 现在映射一个驱动器(共享数据)net use * \ MicrosoftFTP \ data / user:anonymous
  14.   
  15. 全部完成。它将传递连接的驱动器号
  16.   

下一步是通过编写命令脚本并使用文件/ string manipulation在必要时更新hosts文件来自动执行步骤1-4。

如果映射了驱动器,则可能会从一个驱动器到另一个驱动器执行正常的Xcopy。

参考: http://answers.yahoo.com/question/index?qid=20080612073002AAruBR0

更新 回复您的修改:

在您的主batch.bat文件中,动态创建script.txt,如下所示:

@echo off 
@echo open ftp.server.com > script.txt
@echo username >> script.txt
@echo password >> script.txt
@echo cd folderpath/newfolder >> script.txt
@echo get file1.xml >> script.txt
@echo close >> script.txt
@echo bye >> script.txt

然后做

ftp -v -i -s:script.txt

最后 - 要整理,删除临时script.txt:

del script.txt