Come scaricare i file dalla row di command in Windows, come Wget sta facendo?

Come posso scaricare qualcosa dal web direttamente senza Internet Explorer o Firefox aprire Acrobat Reader / Quicktime / MS Word? Qualunque cosa?

Sto usando Windows, quindi una versione di Windows di Wget avrebbe fatto.

Wget per Windows dovrebbe funzionare.

Dalla FAQ di Wget Wiki :

GNU Wget è un'utilità di networking gratuita per recuperare file dal World Wide Web utilizzando HTTP e FTP, i due protocolli Internet più utilizzati. Funziona in modo non interattivo, consentendo così il lavoro in background dopo aver disconnesso.

Da questa sezione di FAQ , si suggeriscono i link di download:

Windows Binari

Il collegamento con cortesia di Jernej Simončič viene utilizzato invece.

Un'altra alternativa che ho scoperto di recente, utilizzando PowerShell:

$client = new-object System.Net.WebClient $client.DownloadFile("http://www.xyz.net/file.txt","C:\tmp\file.txt") 

Funziona anche con le query GET.

Se è necessario specificare le credenziali per scaricare il file, aggiungere la seguente row tra:

 $client.Credentials = Get-Credential 

Viene visualizzato un prompt delle credenziali standard di Windows. Le credenziali digitate saranno utilizzate per scaricare il file. Devi solo farlo una volta per tutto il tempo che userai l'object $ client.

Se si dispone di PowerShell> = 3.0, è ansible utilizzare Invoke-WebRequest

 Invoke-WebRequest -OutFile index.html http://superuser.com 

O golfato

 iwr -outf index.html http://superuser.com 

Scaricare un file tramite HTTP in Windows

Salvare il seguente text come wget.js e call semplicemente

 cscript /nologo wget.js http://example.com 

Questo è il codice:

 var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1"); WinHttpReq.Open("GET", WScript.Arguments(0), /*async=*/false); WinHttpReq.Send(); WScript.Echo(WinHttpReq.ResponseText); /* To save a binary file use this code instead of previous line BinStream = new ActiveXObject("ADODB.Stream"); BinStream.Type = 1; BinStream.Open(); BinStream.Write(WinHttpReq.ResponseBody); BinStream.SaveToFile("out.bin"); */ 

Windows ha un proprio programma di utilità di download di row di command – BITSAdmin :

BITSAdmin è uno strumento di row di command che è ansible utilizzare per creare download o caricare i lavori e monitorare il loro avanzamento.

EDIT : 26.01.15 – Ecco la mia panoramica su come un file può essere scaricato su windows senza strumenti esterni

E un esempio completo di Bitsadmin:

 bitsadmin /transfer myDownloadJob /download /priority normal http://downloadsrv/10mb.zip c:\10mb.zip 

Ho fatto un file myGet.bat rapido che chiama il metodo PowerShell descritto in precedenza.

 @Echo OFF SetLocal EnableDelayedExpansion Set Var=%1 Set Var=!Var:http://=! Set Var=!Var:/=,! Set Var=!Var:%%20=?! Set Var=!Var: =?! Call :LOOP !var! Echo.Downloading: %1 to %~p0!FN! powershell.exe -Command (new-object System.Net.WebClient).DownloadFile('%1','%~p0!FN!') GoTo :EOF :LOOP If "%1"=="" GoTo :EOF Set FN=%1 Set FN=!FN:?= ! Shift GoTo :LOOP 

Ho preso in prestito un codice da URL di parsing per nome di file con spazio .

C'è anche un cURL nativo per Windows disponibile qui . Ci sono molti sapori disponibili – con e senza supporto SSL. Non hai bisogno del bagaglio extra di Cygwin e dei cari, solo un piccolo file EXE.

Stavo cercando lo stesso, e poiché non avevo alcun privilegio per installare uno dei pacchetti sopra, sono andato per una piccola soluzione (per scaricare 30 file):

  • Ho creato un file batch
  • Elencato tutti i file
  • Inserisci firefox.exe all'inizio di each row
  • Vai alla directory firefox in Program Files
  • L'ha fatta.

Cygwin ha Wget (e molte altre utility).

Se PowerShell è un'opzione, questo è il path preferito, in quanto potenzialmente non dovrai installare niente di più:

 (new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt', 'C:\tmp\file.tx??t') 

In caso contrario, Wget per Windows, come hanno sottolineato altri, è sicuramente la seconda opzione migliore. Come affermato in un'altra risposta, sembra che è ansible scaricare Wget da solo , oppure è ansible afferrare come parte di Cygwin o MSys .

Se per qualche motivo si trova bloccato in un tempo, utilizzando una macchina che non dispone di PowerShell e si ha zero accesso a un browser web funzionante (ovvero Internet Explorer è l'unico browser del sistema e le sue impostazioni sono corrotti) e il tuo file è in un sito FTP (anziché HTTP):

 start->run "FTP", press "OK". 

Se la memory è disponibile da Windows 98, posso confermare che è ancora presente in Windows 8 RTM (potrebbe essere necessario andare in appwiz.cpl e aggiungere / rimuovere funzionalità per ottenerlo). Questa utilità può sia scaricare e caricare file da / da siti FTP sul web. Può anche essere utilizzato in script per automatizzare un'operazione.

Questo strumento che è stato incorporato è stato un vero risparmiatore di vita per me in passato, soprattutto nei giorni di http://ftp.cdrom.com – Ho scaricato Firefox in quel modo una volta, su una macchina completamente rotta che aveva solo un dial-up Internet connessione (indietro quando la dimensione massima del pacchetto di sneakernet era ancora 1,44 MB, e Firefox è ancora chiamato "Netscape" / me trollface ).

Un paio di suggerimenti: è il proprio processre di command e ha una propria syntax. Prova a digitare "aiuto". Tutti i siti FTP richiedono un nome utente e una password; ma se consentono agli utenti "anonimi", il nome utente è "anonimo" e la password è il tuo indirizzo email (puoi farne uno se non vuoi essere tracciato, ma di solito c'è una qualche logica per assicurarsi che sia un indirizzo email valido).

E http://www.httrack.com/ ha una bella GUI (ed è gratuita), per i siti di mirroring. Ha anche una versione Linux.

Se si desidera una GUI, quindi provare VisualWget , che è effettivamente pulito e funzionalità piena. È basato su GNU Wget per il suo motore di download.

EDIT: collegamento aggiornato.

È ansible get WGet for Windows qui . In alternativa è ansible fare clic con il button destro del link di download dell'elemento che si desidera scaricare e scegliere Salva con nome. Questo scaricherà il file e non aprirlo nell'applicazione assegnata.

Potresti anche usare il wget compresso in PowerShell . ; ^) Per aprire, premere il tasto Windows e digitare "powershell" o Windows-R e digitare "powershell" e premere il button di return.

Non è necessaria alcuna installazione.

Una differenza interessante rispetto al tradizionale wget (più a quel collegamento ): Non è ansible utilizzare semplicemente il più grande di un file a un file. wget in PowerShell è solo un wrapper di convenienza per Invoke-WebRequest e devi usare la sua syntax per scrivere in un file.

 wget https://superuser.com/questions/25538 -OutFile rubySlippers.html 

Un'alternativa all'utilizzo di gnuwin32 è unxutils che include wget.

Se hai bisogno di un Post visual per Windows, ecco uno.
È ansible submit dati o file con esso.