How to create a .BAT file to download file from HTTP\ftp server?
How to create a .BAT
file to download file or folder from FTP server? (and replace with it existing file) (we have links like ftp://me:mypass@example.com/file.file
(or http://example.com/file.file) and absolute file link like C:\Users\UserName\Some mixed Русский English Adress\file.file
) 开发者_如何学编程(using only native windows (xp vista win7 etc) BAT functions and files)
Here is an example of how to automate the built-in ftp.exe
tool:
- http://www.howtogeek.com/howto/windows/how-to-automate-ftp-uploads-from-the-windows-command-line/
The example is about uploading, but the principle is the same (just use get
instead of put
).
Still, since this is just "piping commands" into ftp.exe, I recommend not to do this for production-quality batch files (no error handling, etc.), but to use some external tool instead. I provided this answer only because you explicitly asked for a solution that only uses Windows built-in commands.
EDIT: Here's a concrete example:
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
I have previously used WGET in a batch file to accomplish this. http://www.gnu.org/software/wget/
The command-line FTP program that's built-in to most Windows operating systems is scriptable. You just need to create a text file with the commands you would send if you were running it by hand (one command per line), then execute it like this:
ftp -s:download.scr
What FTP client software are you using? Is it scriptable? If so, create a script that downloads files and call this script from your batch file.
I'm doing this with WS_FTP.
精彩评论