2

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

我正在尝试使用cmd命令提示符来实现这一点

批处理文件里面

请帮助我或粘贴任何线程。

我找到了答案,非常感谢,但是,

我需要使用 2filesscript.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 个文件

4

1 回答 1

2

作为起点:

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

下一步是通过编写命令脚本并在必要时使用文件/字符串操作来更新主机文件,从而使步骤 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
于 2012-09-27T12:06:19.620 回答