سؤال هل من الممكن تحميل باستخدام سطر الأوامر ويندوز؟


بدون استخدام أي أدوات مساعدة غير قياسية (تتضمن Windows) ، هل من الممكن التنزيل باستخدام سطر أوامر Windows؟

النسخة المفضلة هي Windows XP ، ولكن من المثير للاهتمام أيضًا معرفة الإصدارات الأحدث.

لمزيد من توضيح سؤالي:

  • يجب أن يستخدم HTTP
  • يجب حفظ الملف
  • تثبيت Windows نظيف قياسي ، بدون أدوات إضافية

إذن ، بشكل أساسي ، لأن الجميع يصرخون مجلد مشترك، أريد وظيفة Wget بسيطة ، دون استخدام Wget.


120
2017-10-23 14:58


الأصل


مزيد من الأفكار في "إذا كان المتصفح الوحيد في Windows قد توفي ، وكيفية الاتصال بالإنترنت؟" في superuser.com/questions/50427/... - Arjan
وأي من إصدارات Windows XP من شأنها أن تكون؟ - Arjan
لنفترض أنه يمكن أن يكون أي إصدار من Windows XP SP2 ويتم إصدار كل شيء لاحقًا. - Robert Massa
arjan سؤال مثير للاهتمام ، ولكن لا يوجد حتى الآن إجابة محددة. - Robert Massa
كان يجب أن أطلب "طبعة". مثل Starter، Home، Professional، Media Center، Tablet، even even Embedded (good change for tools there Iess!) ... أو الإصدارات الأوروبية بدون Windows Media Player. :-) - Arjan


الأجوبة:


يمكنك كتابة VBScript وتشغيله من سطر الأوامر

قم بإنشاء ملف downloadfile.vbs وأدخل أسطر التعليمات البرمجية التالية:

' Set your settings
    strFileURL = "http://www.it1.net/images/it1_logo2.jpg"
    strHDLocation = "c:\logo.jpg"

' Fetch the file
    Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

    objXMLHTTP.open "GET", strFileURL, false
    objXMLHTTP.send()

If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary

objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0    'Set the stream position to the start

Set objFSO = CreateObject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing

objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if

Set objXMLHTTP = Nothing

قم بتشغيله من سطر الأوامر كما يلي:

cscript.exe downloadfile.vbs 

50
2017-10-23 15:31



أتساءل عما إذا كان هذا يعتمد على Internet Explorer ، ولكن أعتقد أن هذا سيكون إجابة جيدة لـ "إذا كان المستعرض الوحيد في Windows قد مات ، وكيفية الاتصال بالإنترنت؟" في superuser.com/questions/50427/... :-) - Arjan
هذا إذا سمح إذن cscript.exe - hello_there_andy
يمكنني تأكيد أنني قد اختبرت هذا البرنامج النصي في ويندوز بي 5.1 وقد عملت مثل السحر. أعتزم استخدامه للنشر دون اتصال ، للتحقق من إصدار النظام الأساسي في محرك أقراص USB مقابل ملف نصي مخزّن على الخادم. - Wayfarer


بداية من Windows 7 ، أعتقد أن هناك طريقة واحدة لم يتم ذكرها بعد وهي سهلة:

بناء الجملة:

bitsadmin / نقل اسم العمل       / تنزيل / الأولوية أفضلية    URL   \ المحلي مسار الملف \

مثال:

bitsadmin / نقل mydownloadjob / download / priority normal ^
                  http://example.com/filename.zip C: \ Users \اسم المستخدم\ التنزيلات \ filename.zip

(كسر إلى خطين منفصلين مع ^ للقراءة (لتجنب التمرير).)

تحذير: كما هو موضح في التعليقات ، ال bitsadmin تبدأ رسالة المساعدة بالقول:

BITSAdmin is deprecated and is not guaranteed to be available in future versions of Windows.
Administrative tools for the BITS service are now provided by BITS PowerShell cmdlets.

... لكن تعليقًا آخر أفاد بأنه يعمل على نظام التشغيل Windows 8.


73
2018-05-16 09:13



هو جزء من windows7. - akira
لم يعمل على ويندوز الخاص بي 7 ... - jyz
كان يجب أن يكون هذا أفضل إجابة صوتية. تم إيقاف bitsadmin لصالح Windows PowerHell بالرغم من ذلك. - lenkite
تأكيد العمل على Win7 - kaiser
ملحوظة: تم إهمال BITSAdmin ولا يمكن ضمان توفره في الإصدارات المستقبلية من Windows. يتم توفير الأدوات الإدارية لخدمة BITS بواسطة أوامر cmdlet BITS PowerShell. - Ujjwal Singh


يتضمن Windows 7 PowerShell ولا يوجد شيء لا يمكنك فعله مع PowerShell.

بديل بديل لـ wget في Windows PowerShell؟


37
2017-10-23 15:27



(New-Object Net.WebClient) .DownloadFile ('someurl'، 'somepath') - Jason Stangroome
بوويرشيل هو ل باور رينجرز ! كيف كوول هو ولماذا هيك لم أكن أعرف عن هذا؟ مع السلامة cmd. - kaiser
من cmd.exe: powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }". يعمل أيضا من موجه تشغيل - Janus Troelsen
نعم ، لا يوجد شيء لا يمكنك فعله دون powershell. انها طرفة حقيقية تورينج :) - jcarpenter2
JanusTroelsen أجابني عن إصدار PowerShell "لم يتم التعرف على المصطلح" iwr "كاسم cmdlet ، ..." ولكن بعد إجراء بعض الأبحاث المماثلة ، powershell -command "$clnt = new-object System.Net.WebClient; $clnt.DownloadFile(\"https://host/name\", \"outpufilename\")" - rogerdpack


يحتوي PowerShell (المضمنة في Windows 8 والمضمنة مع .NET للإصدارات السابقة) على هذه الإمكانية. ال powershell يسمح الأمر بتشغيل أوامر PowerShell العشوائية من سطر الأوامر أو .bat ملف. وبالتالي ، فإن السطر التالي هو ما هو مطلوب:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"

24
2018-05-29 02:22



هذا لا يوفر إجابة على السؤال. لنقد أو طلب توضيح من مؤلف ، اترك تعليقًا أسفل مشاركته - يمكنك دائمًا التعليق على مشاركاتك الخاصة ، وبمجرد حصولك على سمعة ستكون قادرا على التعليق على أي وظيفة. - harrymc
harrymc تأكد من أنها إجابة. يقوم بتنزيل ملف. ماذا تريد اكثر؟ - Janus Troelsen
(1) بعض النصوص لشرح ما المقصود بهذه العبارة ، (2) تحقق من أن إجابتك ليست صياغة بديلة لإجابة سابقة ، لأنه إذا كانت كذلك ، فيجب التعبير عنها على الأكثر كتعليق على هذه الإجابة. - harrymc
ما إصدار Windows و PowerShell المطلوب لتشغيله؟ - Peter Mortensen
هذا لا يعمل في Windows Server 2012 FYI ، فإنه يلقي MethodInvocationException - knocte


لقد وجدت طريقة للقيام بذلك ، ولكن في الحقيقة ، مجرد تثبيت مجلد مشترك.

يمكنك استخدام Internet Explorer من سطر الأوامر (iexplore.exe) ثم إدخال عنوان URL كوسيطة. لذا ، قم بتشغيل:

iexplore.exe http://blah.com/filename.zip

مهما كان الملف ، ستحتاج إلى تحديد أنه لا يحتاج إلى تأكيد في وقت مبكر. لو و ، سوف يقوم تلقائيا بإجراء التنزيل. لذا نعم ، إنه ممكن تقنيًا ، لكن اللورد الجيد يفعل ذلك بطريقة مختلفة.


16
2017-10-23 15:12



أعرف أن wget طريقة أفضل بكثير ، إنها مجرد سؤال افتراضي ؛) إجابتك قريبة جدًا ، ولكنها لا تزال تتطلب تدخل المستخدم (النقر فوق "حفظ" ، أو التهيئة لعدم عرض مربع الحوار هذا) - Robert Massa
كما قلت ، يجب عليك إلغاء تحديد الخيار للمطالبة بالحفظ لهذا النوع من الملفات. على سبيل المثال ، قم بتنزيل ملف مضغوط ، قم بتعطيل هذا الموجه ، ثم في المستقبل سيتم حفظ أي ملفات مضغوطة يمكن الوصول إليها من سطر الأوامر تلقائيًا. - DHayes
إجراء 1+ ، على الرغم من أنني لم أقم بالتحقق من صحتها ، إلا أن العبارة الأخيرة صحيحة جدًا) - Arjan
+1 ل "سيدي العزيز لا تفعل ذلك بهذه الطريقة" ... :) - quack quixote


مستكشف ويندوز (لا ينبغي الخلط بينه وبين Internet Explorer) يمكنه تنزيل الملفات عبر HTTP. ما عليك سوى إدخال عنوان URL في شريط العناوين. أو من سطر الأوامر ، على سبيل المثال ، C:\windows\explorer.exe http://somewhere.com/filename.ext.

يمكنك الحصول على الكلاسيكية تحميل الملف مستعجل. ما لم يكن الملف من النوع الذي يعرف Windows Explorer كيفية عرضه ، (.html ، .jpg ، .gif) ، في هذه الحالة ستحتاج إلى النقر بزر الماوس الأيمن لحفظه.

أنا فقط اختبرت هذا على بلدي في إم وير صورة تثبيت Windows XP 2002 المزود بحزمة الخدمة SP1 ، ويعمل بشكل جيد.


11
2017-08-08 15:18



هذا يتطلب تفاعل المستخدم. ربما ليس ما يريده معظم الناس الذين يرغبون في تنزيل ملف من موجه الأوامر - Kip
في الوقت الحاضر ، يعتمد ذلك على المتصفح الافتراضي. المنجم هو الكروم ، والتنزيلات التلقائية إلى موقع معروف ، لذلك أعتبر هذا الحل كافيا لاحتياجاتي. شكرا! - kayleeFrye_onDeck


يمكنك استخدام (في bat Windows القياسي):

powershell -command "& { iwr http://www.it1.net/it1_logo2.jpg -OutFile logo.jpg }"

يبدو أنه يتطلب PowerShell v4 ...

(شكرا ل هذا التعليق و هذا)


6
2018-05-10 14:10