it-swarm.asia

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

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

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

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

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

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

122
Robert Massa

يمكنك كتابة 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 
51
Igor

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

بناء الجملة:

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

مثال:

bitsadmin/transfer mydownloadjob/download/الأولوية العادية ^ 
 http://example.com/filename.Zip C:\Users \username\ التنزيلات\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.

74
timeshift

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

البديل الأصلي ل wget في Windows PowerShell؟

39
user15130

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

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

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

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

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

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

17
DHayes

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

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

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

12
Chris Noe

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

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

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

(بفضل هذا التعليق و هذا واحد )

7
Anthony O.

استخدام FTP.

من سطر الأوامر:

ftp ftp.somesite.com
user
password

يتم تضمين FTP في كل إصدار من نظام Windows يمكنني تذكره ؛ ربما ليس في 3.1 ، وربما ليس في ويندوز 95 ، ولكن بالتأكيد كل شيء بعد ذلك.

RM: سيكون الأمر تقريبيًا إذا كنت لا تريد تنزيل أي أدوات أخرى. يوجد سطر أوامر Wget for Windows و Wget مصمم للقيام بما تريده بالضبط.

6
Satanicpuppy

استخدم PowerShell مثل هذا:

  1. قم بإنشاء ملف download.ps1:

    param($url, $filename)
    $client = new-object System.Net.WebClient 
    $client.DownloadFile( $url, $filename)
    
  2. يمكنك الآن تنزيل ملف مثل هذا:

    powershell Set-ExecutionPolicy Unrestricted
    powershell -ExecutionPolicy RemoteSigned -File "download.ps1" "http://somewhere.com/filename.ext" "d:\filename.ext"
    
4
Thomas Jespersen

يمكن تنزيل الملف عبر الطريقة أدناه

bitsadmin/transfer wcb/أولوية عالية https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\ملفات البرنامج (x86)\Dell Update\Agenda21.pdf

1
Mansur Ali

إذا قمت بتثبيت Telnet ، أتصور أنه يمكنك تقديم طلب HTTP إلى خادم لتنزيل ملف.

يمكنك أيضًا تثبيت Cygwin ، واستخدام wget لتنزيل ملف أيضًا. هذه طريقة سهلة للغاية لتنزيل الملفات من سطر الأوامر.

1
EvilChookie

يمكنك تثبيت تطبيق Linux Wget على Windows. يمكن تنزيله من http://gnuwin32.sourceforge.net/packages/wget.htm . يمكنك حينئذٍ إصدار الأمر "wget ​​(inserturlhere)" أو أي URL في موجه الأوامر الخاص بك ، وسوف يسمح لك بتنزيل عنوان URL/ملف/صورة.

1
Jamie

هناك بعض الطرق التي يمكنك تنزيلها باستخدام سطر الأوامر في Windows:

  1. يمكنك استخدام Cygwin .

    ملاحظة: التطبيقات المضمنة ليست تطبيقات Linux أصلية. يجب إعادة إنشاء التطبيق الخاص بك من المصدر إذا كنت ترغب في تشغيله على Windows.

  2. باستخدام telnet ، من الممكن تقديم طلب لكنك لن ترى أي معالجة.

  3. يمكنك كتابة البرامج النصية الخفافيش أو VBS.

  4. اكتب البرنامج الخاص بك الذي يمكنك تشغيله من cmd.exe.

1
Jesus

إذا كان لديك ثعبان مثبت ، هذا مثال يجلب get-pip.py من الويب

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
0
Sipherlab

في Windows الافتراضي ، لا يمكنك التنزيل عبر HTTP. Windows هو نظام تشغيل يعتمد على واجهة المستخدم الرسومية ، لذلك فهو يفتقر إلى العديد من أدوات سطر الأوامر التي ستجدها في أنظمة التشغيل الأخرى ، مثل wget ، والتي ستكون المرشح الأول.

System.Net.WebClient.DownloadFile() ، وهي وظيفة في WiniNet API ، يمكنها تنزيل الملفات ، لكنني لست متأكدًا من مدى تطورك الفعلي مقابل ملف دفعي.

0
Andrew Scagnelli