64 bit wget for Windows

My build of wget is now woefully out of date. You’re encouraged to look at https://eternallybored.org/misc/wget/ for a more up to date version.

Having laboured over this for the past day, I thought I’d post this here.

It’s the AMD64 port of wget – it should run on Windows x64 Professional (Intel or AMD architecture) as well as the Windows Server 2003 64 bit versions.

Be warned however, this doesn’t contain the SSL libraries so will not work against https sites.

Download file

48 thoughts on “64 bit wget for Windows

  1. Thank you!
    I labored over this for approximately 30-40 minutes before finding this post through google. Links elsewhere have been broken.
    You solved my problem..

  2. Thank you!
    I labored over this for approximately 30-40 minutes before finding this post through google. Links elsewhere have been broken.
    You solved my problem..

      1. You can put the exe anywhere that appears in your search path, or you can change your working directory to wherever the exe is located.

  3. Sorry – noob question. I’m trying to install wget on Windows 7, 64 bit. I’ve put the WGET64.exe file in /Windows/System32 directory. When I type wget -h in the command line I get “‘wget’ is not recognized as an internal or external command, operable program or batch file”. Do I need to physically install the programme somehow? Or am I missing something else somewhere?

    Thanks for your help in advance!


    1. Er, you’re probably better off placing it in its own directory (e.g. c:\temp, c:\scripts etc) then from the command line cd into one of those and run it from there. You could always add another directory to your PATH environment variable.

      Personally I like to keep system directories unpolluted and I actually have a \tools folder in my home directory (actually a network drive) that is in the PATH variable so I can always get at things from whatever my working directory is.

      1. Thanks for getting back to me – I the .exe in a separate directory, but then realised I had to type wget64 -h (I was just typing wget -h, which obviously doesn’t exist!).

        Thanks for your help, and cool photos too.

      2. Alex,

        Was it necessary to modify the wget sources?

        Or just had to build with the proper libraries?

        We may have to modify the wget sources for a project.

        Would highly appreciate if you could give us a hand how did you do it?

        Thank you in advance


        1. It is a very long time ago – I seem to remember taking the source and compiling with nmake for Windows.

    1. Well, it takes the standard wget usage so something like:

      wget http://wordpress.org/latest.zip

      Will download the file latest.zip into your working directory.

      1. Thanks for reply. And how about instalation and setting working directory? when I double click on .exe file nothing happens.

  4. Have been reading the Info provided and I am 73 and have 2 websites I would dearly love to be able to save to a DVD,is that possible with WGET?I am using windows 7 64 bit,will appreciate all the help you can provide.

    1. You can use the mirror option to pull down a whole site for local viewing. Something like:

      wget –mirror -p –convert-links -P c:\foldertosaveto http://www.example.com

      Bear in mind if it’s not your site, then the owner may not like you for doing it…

  5. I’m having trouble downloading a number of files from a folder … the files names are increasing in numbers (just one number higher) in their names, like …. A-1.jpg, A-2.jpg A-3.jpg etc etc till A-1000.jpg
    I can’t use: wget http://domain.com/folder/ to download all it contents because the folder is 403 Forbidden. But the files are accessible from other part of the domain.com, I know their names… A-1.jpg till A-1000.jpg

    On Linux I was using:

    wget http://domain.com/folder/A-{1..1000}.jpg and it worked great… I could go for a coffee and when I got back 1000 jpegs were downloaded.

    Now on Windows 7 with your wget it’s not working… I get this message

    C:\Users\ss\wget>wget http://domain.com/folder/A-{1..1000}.jpg
    –23:36:14– http://domain.com/folder/A-%7B1..1000%7D.jpg
    => `A-{1..1000}.jpg’
    Resolving domain.com… 198.188.345.55
    Connecting to domain.com[198.188.345.559]:80… connected.
    HTTP request sent, awaiting response… 404 Not Found
    23:36:14 ERROR 404: Not Found.

    any help?

    1. That is a limitation of the Windows command shell rather than of the wget binary itself (i.e. bash knows how to interpret A-{1…1000} but cmd.exe doesn’t). You’d need to write a little batch wrapper around it or something.

      And please make sure the site you’re scraping is happy with you doing that first!

  6. Hello Alex, thank you for your program.

    I am trying to ftp the wget request, but I am getting I keep getting “Loging incorrect” message. I suspect it has to do with the user name format, and the peculiar way in which my host processes the request.; I believe I am required to use username@domain.com as the user name. Various points about this:
    I believe this user name format is required b/c using filezilla I am require to use username@domain.com (this was a shocker to me; my previous host only required the username part)
    If I use username@domain.com as the username, I get the message Bad port number. So I decided to use username alone, wihtout the @domain.com part
    This is how far I gotten so far:
    WGET64.EXE>wget ftp://username:password@ftp.s112233.gridserver.com/
    --02:58:53-- ftp://username:*password*@ftp.s112233.gridserver.com/
    => ''.listing'
    Resolving ftp.s112233.gridserver.com...some_ip_address
    Connecting to ftp.s112233.gridserver.com[some_ip_address]:21... connected.
    Loggingg in as username ...
    Login incorrect.
    unlink: No such file or directory

    To clarify, I am using username, as opposed to username@domain.com, b/c whenever I used the latter I get the message Bad port number

    Could you give me some pointers? I pulled the WGET64 –help but for ftp you only discuss commands, not ftp user configuration or proper use.

    I would value your feedback.

    Thank you

    1. The problem will be to do with two “@” signs. Either try escaping the first one with a “\” and enclosing the whole lot in quotes.

      Alternately why not look at the built-in windows FTP binary? Look at the -s switch which allows you to write a little text-file script.

      1. I have a wget cmd like this:
        wget64.exe ftp://user:password@remoteserver/usr/utenti.mec

        with your rel.1.9 x64, it try many times for session and always get
        "==> PORT ... done. ==> RETR utenti.mec ...
        Error in server response, closing control connection.

        but using Wget 1.11.4 (x64) by http://nebm.ist.utl.pt/~glopes/wget/
        I get the file correct at first trying…

        any suggests?

  7. This is exactly what I need. Thank you.
    One question…is there a way a switch or parameter that will override the existing file? Basically I want to run this and only have 1 file output and then do something with it.

    1. Not directly, but some workarounds:

      – Using recursive mode (-r) will always overwrite
      – -N will overwrite but only if the server file is newer
      – Write to stdout (so you can then pipe to a file): WGET64.EXE -S -O – http://www.alexlomas.com

  8. Hello from Ukraine.

    I`m trying download 10G file
    wget64 –continue –directory-prefix=”c:\temp” –retry-connrefused “http://deployment/sources/windows/images/Windows7.WIM”

    Resolving deployment…
    Connecting to deployment[]:80… connected.
    HTTP request sent, awaiting response… 200 OK
    Length: -2,005,506,526 [text/plain]

    [ ] 1,178 –.–K/s

    12:45:25 (1.12 MB/s) – `c:/temp/Windows7.WIM’ saved [1178/-2005506526])

    Where is mistake ?

  9. Thanks buddy, you solved my long problem,

    now i can use this exe in all my scripts. g8 job.

  10. hey this works great for http / websites thanks! wondering how to use it to pull files from a device which has an IP running on a linux kernel.
    something like –
    wget64 c:\scripts 192.xxx.xx.xx/root/tests/

    thanks in advance!

  11. hey it only takes path from pwd, but i have a different path from where i need to pull files..

    C:\Users\asiaynrf\Documents>wget64 -r ftp://root:root@
    –19:08:26– ftp://root:*password*@
    => `’
    Connecting to… connected.
    Logging in as root … Logged in!
    ==> SYST … done. ==> PWD … done.
    ==> TYPE I … done. ==> CWD /root/var/log …
    No such directory `var/log’.

    unlink: No such file or directory

    FINISHED –19:08:26–
    Downloaded: 0 bytes in 0 files

    any clue?

  12. How to set the proxy server and port details when accessing from behind a firewall?

Comments are closed.