विंडोज में कमांड लाइन से फाइल कैसे डाउनलोड करें जैसे कि wget या कर्ल


348

मैं इंटरनेट एक्सप्लोरर या फ़ायरफ़ॉक्स बिना एक्रोबेट रीडर / क्विकटाइम / एमएस वर्ड / जो भी हो, उससे सीधे वेब से कुछ कैसे डाउनलोड कर सकता हूं?

मैं विंडोज का उपयोग कर रहा हूं, इसलिए Wget का एक विंडोज संस्करण होगा।


बस एक फ़ाइल पर क्लिक करने और "सेव टारगेट अस" या "सेव अस अस" या "सेव अस" (भाषा आपके ब्राउज़र के आधार पर भिन्न होती है) पर काम करेगा।
BrainSlugs83

25
कमांड रखने की बात यह है कि आप जब चाहें बैच फ़ाइल लिख सकते हैं और इसे चला सकते हैं (शायद एक कार्य के रूप में निर्धारित)। यहीं से GUI छोटा पड़ जाता है।
जेबीएम

4
आप MS Word के साथ कैसे डाउनलोड करते हैं?
Jaime Hablutzel

5
@JaimeHablutzel आप एमएस वर्ड के माध्यम से कुछ क्यों डाउनलोड करना चाहते हैं? MS Word एक टर्मिनल नहीं है।
ब्रैडेन बेस्ट

1
@SDsolar या बस इस उत्तर को सुधारें / सुधारें ।
फ्रैंकलिन यू

जवाबों:


180

विंडोज के लिए काम करना चाहिए।

से Wget विकी पूछे जाने वाले प्रश्न :

GNU Wget HTTP और FTP, दो सबसे व्यापक रूप से उपयोग किए जाने वाले इंटरनेट प्रोटोकॉल का उपयोग करके वर्ल्ड वाइड वेब से फ़ाइलों को पुनर्प्राप्त करने के लिए एक मुफ्त नेटवर्क उपयोगिता है। यह गैर-अंतःक्रियात्मक रूप से काम करता है, इस प्रकार लॉग ऑफ होने के बाद, पृष्ठभूमि में काम को सक्षम करता है।

से पूछे जाने वाले प्रश्न के इस खंड , डाउनलोड लिंक का सुझाव दिया जाता है:

विंडोज बायनेरिज़

इसके बजाय Jernej Simončič के सौजन्य से लिंक का उपयोग किया जाता है।


9
अगर आप एक गुई पसंद करते हैं तो Winwget cybershade.us/winwget भी है
Col

13
स्टैंडअलोन संस्करण इस लिंक से डाउनलोड करने योग्य है ।
वीटो जेंटाइल

5
हाल ही में, अप-टू-डेट (आज के अनुसार) विंडोज बनाता है , जो जर्नज साइमनिक द्वारा प्रदान किया गया है
ग्रास डबल

1
@cixelsyd वैकल्पिक स्रोत के लिए अद्यतन लिंक।
क्लीमकुरा

1
eternallybored.org/misc/wget/ को मेरे सिस्टम पर एंटरप्राइज़ एंटीवायरस द्वारा चिह्नित किया गया है। कार्बन ब्लैक / बिट 9. संभवतः गलत सकारात्मक। लेकिन एक रन बनाने के लिए। Sslv3 का समर्थन नहीं करता है।
तमसुराजॉय

311

एक विकल्प जो मैंने हाल ही में खोजा है, पॉवरशेल का उपयोग करके:

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

यह GET प्रश्नों के साथ भी काम करता है।

यदि आपको फ़ाइल को डाउनलोड करने के लिए क्रेडेंशियल निर्दिष्ट करने की आवश्यकता है, तो बीच में निम्न पंक्ति जोड़ें:

$client.Credentials =  Get-Credential                

एक मानक विंडोज़ क्रेडेंशियल प्रॉम्प्ट पॉप अप होगा। आपके द्वारा दर्ज किए गए क्रेडेंशियल्स का उपयोग फ़ाइल को डाउनलोड करने के लिए किया जाएगा। आपको केवल $ क्लाइंट ऑब्जेक्ट का उपयोग करने के लिए हर समय एक बार ऐसा करने की आवश्यकता होगी।


91
आप इसे एक-पंक्ति में भी कर सकते हैं:(new-object System.Net.WebClient).DownloadFile('http://www.xyz.net/file.txt','C:\tmp\file.txt')
स्कैलेकऑक्ट

16
@ रोब पॉवरशेल विंडोज में बनाया गया है ...
nhinkle

9
विस्टा से, हाँ।
अरनान

3
@ BrainSlugs83, बिल्कुल, लेकिन कई, कई , लोग अभी भी XP का उपयोग कर रहे हैं। यह केवल कुछ को ध्यान में रखना है।
एरन

4
@ BrainSlugs83, आप पुराने विंडोज सिस्टम पर अभी भी लोगों की राशि कम आंकते हैं। मुझे इस मुद्दे की समझ नहीं है, मैंने बताया कि यह केवल ऊपर की तरफ विस्टा है। लोग इसे अनदेखा करना चुन सकते हैं, या कहें "हे थैंक्स!", लेकिन आप ....? यदि आपके पास कोई समस्या है, तो एक चैट बनाएं और हम बात कर सकते हैं। प्रतिनिधि के साथ किसी को (जैसे आपको) यहां महसूस करना चाहिए कि इस चर्चा के लिए जगह नहीं है।
अरन

83

यदि आपके पास PowerShell> = 3.0 है, तो आप Invoke-WebRequest का उपयोग कर सकते हैं

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

या गोल्फ का

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

Windows में HTTP के माध्यम से एक फ़ाइल डाउनलोड करें


यह स्रोत के रूप में पुनर्निर्देशन (और संभवतः अन्य साइटों) के साथ काम नहीं करता है, जैसा कि विरोध किया गया है System.Net.WebClient। हालाँकि आप Invoke-WebRequestजोड़कर काम बना सकते हैं -UserAgent [Microsoft.PowerShell.Commands.PSUserAgent]::FireFox
इला El२ El२

क्या डाउनलोड की प्रगति देखने का कोई विकल्प है?
फ्रैंकलिन यू

@FranklinYu प्रगति दिखाएगा यदि फ़ाइल काफी बड़ी है
स्टीवन पेनी

वहाँ एक outfile निर्दिष्ट करने के लिए नहीं है, लेकिन अभी भी बचाने के लिए एक विकल्प है (जैसे wgetया curl -O, curl --remote-nameया curl -J?)
टोमाज़ Gandor

60

विंडोज की अपनी कमांड लाइन डाउनलोड उपयोगिता है - BITSAdmin :

BITSAdmin एक कमांड-लाइन टूल है जिसका उपयोग आप डाउनलोड बनाने या नौकरी अपलोड करने और उनकी प्रगति की निगरानी करने के लिए कर सकते हैं।

संपादित करें : 26.01.15 - यहां मेरा अवलोकन है कि बाहरी उपकरणों के बिना खिड़कियों पर एक फ़ाइल कैसे डाउनलोड की जा सकती है

और एक पूर्ण बिटसैमिन उदाहरण:

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

संपादित करें : 15.05.2018 - यह पता चला कि सर्टिफिकेट के साथ एक फ़ाइल डाउनलोड करना संभव है :

certutil.exe -urlcache -split -f "https://download.sysinternals.com/files/PSTools.zip" pstools.zip

XP / Win2003 पर डिफ़ॉल्ट रूप से सर्टिफिकेट स्थापित नहीं किया गया है, लेकिन नए विंडोज़ संस्करणों पर उपलब्ध नहीं है। XP / 2003 के लिए आपको Windows Server 2003 के लिए व्यवस्थापक उपकरण पैक की आवश्यकता होगी


7
दिलचस्प। Wget की तुलना में यह सॉफ्टवेयर का एक अनाड़ी टुकड़ा है।
मैट एच

2
ध्यान दें कि यह Windows XP के साथ जहाज नहीं करता है, और शायद अन्य संस्करणों के साथ भी नहीं।
इयान डन

12
अद्यतन: BITSAdmin अपदस्थ है और भविष्य के विंडोज के संस्करणों में उपलब्ध होने की गारंटी नहीं है। BITS सेवा के लिए प्रशासनिक उपकरण अब BITS PowerShell cmdlets द्वारा प्रदान किए जाते हैं।
nulldev07

2
@ माथ: क्योंकि यह पहली जगह में wget होने के लिए माना जाता है? - en.wikipedia.org/wiki/Background_Intelligent_Transfer_Service
peterchen

4
फ़ाइल जोड़ने में असमर्थ - 0x80070057
टॉम ज़ातो

32

निम्नलिखित पाठ को इस रूप में सहेजें wget.jsऔर बस कॉल करें

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

यह कोड है:

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");
*/

यह स्क्रिप्ट किस भाषा में है? मेरे वर्तमान कार्य के लिए उपयोगी है। मैं और अधिक संदर्भ प्रलेखन ढूंढना चाहूंगा। बिल्कुल vb
G- की

1
एकल फ़ाइलों के लिए उपयोगी। पुनरावर्ती डाउनलोड और https के लिए बढ़ाने की आवश्यकता है।
19

4
@ जी। मुझे पार्टी के लिए देर हो रही है, लेकिन वह जावास्क्रिप्ट है।
प्रूफ़रीडर

मुझे क्या करना है कि के लिए करने की कोशिश की database.clamav.net/daily.cvd , लेकिन यह 44MB की केवल 88kb डाउनलोड किया :(
kokbira

22

यहां विंडोज के लिए एक देशी cURL उपलब्ध है । एसएसएल समर्थन के साथ और बिना उपलब्ध कई स्वाद हैं।

आपको सिगविन के अतिरिक्त सामान और पसंद की ज़रूरत नहीं है , बस एक छोटी सी EXE फ़ाइल।


यह जानना भी महत्वपूर्ण है कि विंडोज़ पॉवर्सहेल के सभी आधुनिक संस्करणों में निर्मित wgetऔर दोनों curlउपनाम हैं। वे बराबर हैं।

wgetकार्यक्षमता प्राप्त करने के लिए कोई अतिरिक्त फ़ाइल या डाउनलोड आवश्यक नहीं है :

Powershell में कर्ल का उपयोग (मिलनसार गीक)

अंश:

आप एक CURL कमांड में एक टाइप कर सकते हैं जो एक GitHub रिपॉजिटरी से एक फाइल डाउनलोड करता है।

कर्ल http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json

और ऐसा लगता है कि यह काम करता है, लेकिन यह वास्तव में क्या कर रहा है सिर्फ उपनाम के रूप में उपयोग कर रहा है। उपरोक्त उदाहरण में, क्या होगा कि आप केवल फ़ाइल के बजाय हेडर प्राप्त करेंगे।

PowerShell में उपनाम आपको लंबे समय तक कमांड के लिए शॉर्टकट बनाने की अनुमति देते हैं ताकि आपको हर समय उन्हें टाइप न करना पड़े।

यदि आप Get-Alias ​​कमांड में टाइप करते हैं, तो यह आपको उन सभी उपनामों की एक सूची देगा जो PowerShell में उपयोग किए जाते हैं। जैसा कि आप देख सकते हैं, कर्ल कमांड सिर्फ Invoke-WebRequest कमांड को कॉल करता है। वे समान हैं लेकिन समान नहीं हैं यही कारण है कि उपरोक्त अनुरोध हमारे लिए काम नहीं करता है।

यहां छवि विवरण दर्ज करें

PowerShell में ठीक से काम करने के लिए इसे प्राप्त करने का सबसे आसान तरीका चर और -OutFileतर्क का उपयोग करना है:

यहां छवि विवरण दर्ज करें

(फाइल का नाम कट ऑफ इमेज " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json ")

यह सिंटैक्स azuredeploy.jsonस्थानीय फ़ाइल के लिए लक्ष्य फ़ाइल की पूरी सामग्री को डाउनलोड करेगाnewfile.json


प्राथमिक लाभ यह है कि यह पॉवर्सशेल में ही बनाया गया है, इसलिए यह कोड बिना किसी डाउनलोड के सीधे निष्पादित होगा या किसी अन्य अतिरिक्त फ़ाइल रचनाओं को विंडोज के किसी भी आधुनिक संस्करण पर काम करने के लिए आवश्यक है।


यह सीधे एक लाइन पर किया जाता है, लेकिन लाइन बहुत लंबी हो जाती है और एक नज़र में तुरंत पढ़ने योग्य नहीं होती है।
एसडीसोलर

21

मैंने एक त्वरित myGet.bat फ़ाइल बनाई, जो ऊपर वर्णित PowerShell विधि को कॉल करती है।

@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

मैंने स्पेस के साथ फ़ाइल नाम के लिए पार्सिंग URL से कुछ कोड उधार लिया था ।


1
डाउनवोट क्यों? यह मेरे लिए ठीक है और प्रश्न का सीधा जवाब है। हाँ, यह क्लंकी है और url में एम्परसेंड्स (&) से बचने की तरह सुधार का उपयोग कर सकता है, लेकिन यह उसी तरह काम करता है।
मैट विल्की

क्या सिर्फ PowerShell स्क्रिप्ट लिखना आसान नहीं होगा ???
सैम

1
powershell.exe -Command "Invoke-WebRequest -OutFile ./file-name https://location/file-name"<- स्क्रिप्ट फ़ाइल में सरल एक लाइन शक्तियां उपयोग हार्ड कोडिंग स्थान और फ़ाइल नाम।
जेम्स एबी

8

मैं उसी को खोज रहा था, और चूंकि मुझे उपरोक्त पैकेजों में से किसी को भी स्थापित करने का कोई विशेषाधिकार नहीं था, इसलिए मैं एक छोटे से वर्कअराउंड (30 + फ़ाइलों को डाउनलोड करने के लिए) गया:

  • मैंने एक बैच फ़ाइल बनाई
  • सभी फाइलों को सूचीबद्ध किया
  • firefox.exeप्रत्येक पंक्ति की शुरुआत में रखो
  • में फ़ायरफ़ॉक्स निर्देशिका में चला गया Program Files
  • इसे दौड़ाया।

4

यदि PowerShell एक विकल्प है, तो यह पसंदीदा मार्ग है, क्योंकि आपको (संभावित) अतिरिक्त कुछ भी स्थापित नहीं करना होगा:

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

असफल होने पर, विंडोज के लिए Wget, जैसा कि दूसरों ने बताया है निश्चित रूप से दूसरा सबसे अच्छा विकल्प है। जैसा कि एक अन्य उत्तर में पोस्ट किया गया है, ऐसा लगता है कि आप सभी को Wget डाउनलोड कर सकते हैं , या आप इसे Cygwin या MSys के एक भाग के रूप में हड़प सकते हैं ।

यदि किसी कारण से, आप अपने आप को एक टाइम ताना में फंस गए हैं, तो ऐसी मशीन का उपयोग कर सकते हैं जिसमें पॉवरशेल नहीं है और आपके पास काम करने वाले वेब ब्राउज़र तक शून्य पहुंच है (अर्थात, इंटरनेट एक्सप्लोरर सिस्टम पर एकमात्र ब्राउज़र है, और इसकी सेटिंग्स भ्रष्ट हैं), और आपकी फ़ाइल FTP साइट पर है (HTTP के विपरीत):

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

यदि मेमोरी विंडोज 98 के बाद से वहां मौजूद है, और मैं पुष्टि कर सकता हूं कि यह अभी भी विंडोज 8 आरटीएम में है (आपको इसे प्राप्त करने के लिए इसमें जाना appwiz.cplऔर सुविधाओं को जोड़ना / हटाना पड़ सकता है )। यह उपयोगिता वेब पर एफ़टीपी साइटों से / से फ़ाइलों को डाउनलोड और अपलोड कर सकती है। इसका उपयोग स्क्रिप्ट में या तो ऑपरेशन को स्वचालित करने के लिए भी किया जा सकता है।

इस उपकरण का निर्माण अतीत में मेरे लिए एक वास्तविक जीवन रक्षक रहा है, विशेष रूप से ftp.cdrom.com के दिनों में - मैंने फ़ायरफ़ॉक्स को एक बार डाउनलोड किया, एक बार पूरी तरह से टूटी हुई मशीन पर, जिसमें केवल डायल-अप इंटरनेट था। कनेक्शन (पीछे जब चुपके के अधिकतम पैकेट का आकार अभी भी 1.44 एमबी था, और फ़ायरफ़ॉक्स को अभी भी "नेटस्केप" / मुझे ट्रोलफेस कहा जाता है )।

सुझावों की एक जोड़ी: यह अपने स्वयं के कमांड प्रोसेसर है, और इसका अपना सिंटैक्स है। "सहायता" टाइप करने का प्रयास करें। सभी एफ़टीपी साइटों को एक उपयोगकर्ता नाम और पासवर्ड की आवश्यकता होती है; लेकिन अगर वे "अनाम" उपयोगकर्ताओं को अनुमति देते हैं, तो उपयोगकर्ता नाम "अनाम" है और पासवर्ड आपका ईमेल पता है (यदि आप ट्रैक नहीं करना चाहते हैं तो आप एक बना सकते हैं, लेकिन आमतौर पर यह सुनिश्चित करने के लिए किसी तरह का तर्क है एक वैध ईमेल पता)।


कमांड लाइन ftp की सोच के लिए +1! हालाँकि, आप पार्टी में शामिल होने से पहले वेग और पॉवरशेल दोनों का अच्छी तरह से उल्लेख किया गया था, इसलिए -1। : - /
मैट विल्की

मेरे द्वारा देखे गए अन्य शक्तियां उत्तर सभी मल्टी-लाइनर थे और / या उनके पास कुछ कोड गंध था - यह एक फ़ाइल डाउनलोड करने के लिए एक छोटा और सरल एक लाइनर है। - साथ ही मैं एक जवाब देना चाहता था जिसमें सभी ठिकानों को कवर किया गया था। :-)
BrainSlugs83

1
मुझे यकीन नहीं है कि आपके पास गंतव्य फ़ाइल में दो प्रश्न चिह्न क्यों हैंC:\tmp\file.tx??t
प्लोनी


2

और http://www.httrack.com/ में मिररिंग साइट्स के लिए एक अच्छा GUI (और यह मुफ़्त है) है। इसमें लिनक्स संस्करण भी है।


2

आप PowerShell में पैक किए गए का उपयोगwget भी कर सकते हैं । ; ^) खोलने के लिए, विंडोज कुंजी को हिट करें और "पावरशेल" या विंडोज-आर टाइप करें और "पावरशेल" टाइप करें और रिटर्न को हिट करें।

कोई स्थापना आवश्यक नहीं है।

पारंपरिक से एक दिलचस्प अंतर wget( उस लिंक पर अधिक ): आप बस एक फ़ाइल में पाइप की तुलना में अधिक उपयोग नहीं कर सकते। wgetPowerShell में केवल एक सुविधा आवरण है Invoke-WebRequest, और आपको फ़ाइल लिखने के लिए इसके सिंटैक्स का उपयोग करने की आवश्यकता है।

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

1
-OutFileकाम किया!
दिमित्री के

1

आप यहां विंडोज के लिए WGet प्राप्त कर सकते हैं । वैकल्पिक रूप से आप उस आइटम के डाउनलोड लिंक पर राइट क्लिक कर सकते हैं जिसे आप डाउनलोड करना चाहते हैं और सेव अस चुनें। यह फ़ाइल डाउनलोड करेगा और इसे असाइन किए गए एप्लिकेशन में नहीं खोलेगा।


1

मुझे लगता है कि wgetचॉकलेट के माध्यम से स्थापित करना सबसे आसान तरीका है।

  1. Chocolatey स्थापित करें
  2. कमांड-लाइन से, टाइप करें: choco install wget
  3. फिर आप wgetकमांड लाइन से जैसे * निक्स सिस्टम पर उपयोग कर सकते हैं।

1

/downloadफ़ंक्शन के लिए https://lolbas-project.github.io पर खोजें ।

अभी देखते हैं Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe, Replace.exeविंडोज विस्टा, विंडोज 7, विंडोज 8, विंडोज 8.1, Windows 10 और बराबर सर्वर संस्करण के लिए।


0

यदि आप एक GUI चाहते हैं, तो VisualWget का प्रयास करें , जो वास्तव में साफ है, और पूर्ण सुविधा है। यह अपने डाउनलोड इंजन के लिए GNU Wget पर आधारित है।

संपादित करें: अद्यतन लिंक।


1
यहां एक अद्यतन लिंक दिया गया है: sites.google.com/site/visualwget/… (डाउनलोड पृष्ठ के निचले भाग में हैं, दाईं ओर छोटे तीरों का उपयोग करें)
रीड हेजेज

0

इस SU उत्तर में प्रलेखित के रूप में , आप Powershell में निम्नलिखित का उपयोग कर सकते हैं:

Import-Module bitstransfer
start-bitstransfer -source http://something/something.ext -destination c:\something.ext

-1

Gnuwin32 उपयोग करने का विकल्प है unxutils जो wget भी शामिल है।


आप unxutils के साथ प्रबंधन कर सकते हैं लेकिन यह पुराना है, यह wget के पुराने संस्करण का उपयोग करता है। gnuwin32 उपयोग की वस्तु है। स्थापित करने के लिए काफी सुविधाजनक नहीं है और चीजों को खोजने के लिए उतना आसान नहीं है, लेकिन इसमें बहुत अधिक unxutils भी हैं।
बार्लोप

-3

यदि आपको विंडोज के लिए एक दृश्य पोस्ट की आवश्यकता है , तो यहां एक है।
आप इसके साथ डेटा या फाइलें पोस्ट कर सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.