2009-10-23 14:58:03 +0000 2009-10-23 14:58:03 +0000
124
124

Czy możliwe jest pobranie za pomocą wiersza poleceń Windows?

Czy możliwe jest pobranie za pomocą wiersza poleceń Windows?

Preferowaną wersją jest Windows XP, ale interesująca jest również znajomość nowszych wersji.

Aby wyjaśnić moje pytanie:

  • To musi być HTTP
  • Plik musi być zapisany
  • Standardowa czysta instalacja Windows, bez dodatkowych narzędzi

Więc w zasadzie, ponieważ wszyscy krzyczą Wget _, chcę prostej funkcjonalności Wgeta, bez używania Wgeta.

Odpowiedzi (13)

74
74
74
2011-05-16 09:13:14 +0000

Zaczynając od Windows 7, uważam, że jest jedna metoda, która nie została jeszcze wymieniona, co jest proste:

Składnia:

bitsadmin /transfer _job\_name_ /download /priority _priority __URL__ local\path\file_

Przykład:

bitsadmin /transfer mydownloadjob /download /priority normal ^ http://example.com/filename.zip C:\Users\_username_\Downloads\filename.zip

(Rozbite na dwie oddzielne linie z ^ dla czytelności (aby uniknąć przewijania). )

Ostrzeżenie: Jak zaznaczono w komentarzach, komunikat pomocy bitsadmin zaczyna się od stwierdzenia:

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.

… ale inny komentarz zgłosił, że działa na Windows 8.

40
40
40
2009-10-23 15:27:20 +0000

Windows 7 zawiera PowerShell, a z PowerShell'em prawie nic nie można zrobić. Native alternative to wget in Windows PowerShell?

25
25
25
2014-05-29 02:22:34 +0000

PowerShell (dołączony do systemu Windows 8 i dołączony do .NET dla wcześniejszych wydań) posiada tę możliwość. Polecenie powershell umożliwia wykonywanie dowolnych poleceń programu PowerShell z linii poleceń lub z pliku .bat. W związku z tym oczekiwana jest następująca linia poleceń:

powershell -command "& { (New-Object Net.WebClient).DownloadFile('http://example.com/', 'c:\somefile') }"
17
17
17
2009-10-23 15:12:44 +0000

Znalazłem sposób na to, ale naprawdę, po prostu zainstaluj Wget .

Możesz użyć Internet Explorer z linii poleceń (iexplore.exe), a następnie wprowadź adres URL jako argument. Tak więc, uruchom:

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

Cokolwiek to jest za plik, trzeba będzie określić, że nie wymaga potwierdzenia z wyprzedzeniem. Lo i oto, automatycznie przeprowadzi pobieranie. Więc tak, jest to technicznie możliwe, ale dobry Boże zrób to w inny sposób.

12
12
12
2011-08-08 15:18:28 +0000

Windows Explorer (nie mylić z Internet Explorer) może pobierać pliki za pomocą HTTP. Wystarczy wpisać adres URL do paska adresu. Albo z linii poleceń, na przykład, C:\windows\explorer.exe http://somewhere.com/filename.ext.

Otrzymujesz klasyczną zachętę Pobieranie plików. Chyba, że plik jest typem, który Eksplorator Windows wie jak wyświetlać inline, (.html, .jpg, .gif), w którym to przypadku trzeba by kliknąć prawym przyciskiem myszy, aby go zapisać.

Właśnie przetestowałem to na moim VMware obrazie dziewiczej instalacji Windows XP 2002 SP1, i działa dobrze.

7
7
7
2016-05-10 14:10:22 +0000

Możesz użyć (w standardowym Windows bat):

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

Wydaje się, że wymaga PowerShell v4…

(Dzięki ten komentarz i ten )

6
6
6
2009-10-23 15:01:06 +0000

Użyj FTP.

Z linii poleceń:

ftp ftp.somesite.com
user
password

itd. FTP znajduje się w każdej wersji systemu Windows, którą pamiętam; prawdopodobnie nie w 3.1, może nie w Windows 95 , ale na pewno wszystko po tym.

@RM: To będzie trudne, jeśli nie chcesz ściągać żadnych innych narzędzi. Istnieje linia poleceń Wget dla Windows i Wget jest zaprojektowany tak, aby zrobić dokładnie to o co prosisz.

4
4
4
2013-04-21 21:55:08 +0000

Użyj PowerShell w następujący sposób:

  1. Stwórz plik download.ps1:

  2. Teraz możesz pobrać plik w ten sposób:

1
1
1
2009-10-23 15:01:33 +0000

Jeśli zainstalujesz Telnet, wyobrażam sobie, że możesz wysłać do serwera żądanie HTTP w celu pobrania pliku.

Możesz również zainstalować Cygwin , a także użyć wget do pobrania pliku. Jest to bardzo prosty sposób na pobieranie plików z linii poleceń.

1
1
1
2017-12-16 21:25:25 +0000

Plik można pobrać za pomocą poniższej metody

bitsadmin /transfer wcb /priority high https://sustainabledevelopment.un.org/content/documents/Agenda21.pdf C:\Pliki programu (x86)\Dell Update\Agenda21.pdf

1
1
1
2011-08-20 03:22:58 +0000

Istnieje kilka sposobów, które można pobrać za pomocą linii poleceń w systemie Windows:

  1. Możesz użyć Cygwin .

  2. Korzystając z telnetu możesz złożyć zapytanie, ale nie zobaczysz żadnego przetwarzania.

  3. Możesz pisać skrypty bat lub VBS.

  4. Napisz swój własny program, który możesz uruchomić z cmd.exe.

0
0
0
2014-08-29 23:15:15 +0000

Jeśli masz zainstalowany python, oto przykład, który pobiera get-pip.py z web

python -c "import urllib; urllib.urlretrieve ('https://bootstrap.pypa.io/get-pip.py', r'C:\python27\Tools\get-pip.py')"
0
0
0
2009-10-23 15:04:59 +0000

W domyślnym systemie Windows nie można pobierać za pomocą protokołu HTTP. Windows jest systemem zorientowanym na GUI, więc brakuje w nim wielu narzędzi z linii poleceń, które można by znaleźć w innych systemach operacyjnych, takich jak wget, który byłby głównym kandydatem.

System.Net.WebClient.DownloadFile(), funkcja w API WiniNet, może pobierać pliki, ale nie jestem pewien, jak daleko zajdziesz do rzeczywistego rozwoju w porównaniu do pliku wsadowego.