如何创建.BAT
文件以从FTP服务器下载文件或文件夹? (并用现有文件替换)(我们有ftp://me:mypass@example.com/file.file
(或http://example.com/file.file)之类的链接和C:\Users\UserName\Some mixed Русский English Adress\file.file
等绝对文件链接(仅使用本机窗口(xp vista win7等))BAT功能和文件)
答案 0 :(得分:6)
以下是如何自动化内置ftp.exe
工具的示例:
示例是关于上传的,但原则是相同的(只使用get
代替put
)。
但是,由于这只是ftp.exe中的“管道命令”,我建议不要为生产质量的批处理文件(没有错误处理等)执行此操作,而是使用一些外部工具。我提供此答案只是因为您明确要求使用仅使用Windows内置命令的解决方案。
编辑:这是一个具体的例子:
REM replace this with your user name and password
REM make sure there is no space between the pwd and the >>
echo user me > getftp.dat
echo mypass>> getftp.dat
echo binary >> getftp.dat
REM replace this with the remote dir (or remove, if not required)
echo cd remoteSubDir >> getftp.dat
REM replace this with the local dir
echo lcd C:\Users\UserName\SomeLocalSubDir >> getftp.dat
REM replace this with the file name
echo get file.file >> getftp.dat
echo quit >> getftp.dat
REM replace this with the server name
ftp -n -s:getftp.dat example.com
del getftp.dat
答案 1 :(得分:1)
我以前在批处理文件中使用WGET来完成此任务。 http://www.gnu.org/software/wget/
答案 2 :(得分:1)
您使用的是什么FTP客户端软件?它是可编写脚本的吗?如果是这样,请创建一个脚本,用于下载文件并从批处理文件中调用此脚本。
我正在使用WS_FTP。
答案 3 :(得分:1)
大多数Windows操作系统is scriptable内置的命令行FTP程序。您只需要创建一个文本文件,其中包含您手动运行的命令(每行一个命令),然后执行它:
ftp -s:download.scr