it-swarm-korea.com

wget이나 curl 같은 Windows의 명령 줄에서 파일을 다운로드하는 방법

Internet Explorer 나 Firefox를 열지 않고도 웹에서 직접 다운로드 할 수있는 방법 Acrobat Reader/Quicktime/MS Word/뭐든간에?

Windows를 사용하고 있으므로 Windows 버전 Wget 을 사용하면됩니다.

328
Paolo Tedesco

Wget for Windows 가 작동해야합니다.

Wget Wiki FAQ :

GNU Wget은 가장 널리 사용되는 두 가지 인터넷 프로토콜 인 HTTP와 FTP를 사용하여 World Wide Web에서 파일을 검색하는 무료 네트워크 유틸리티입니다. 비 대화식으로 작동하므로 로그 오프 한 후 백그라운드에서 작업 할 수 있습니다.

FAQ 섹션 에서 다운로드 링크를 제안합니다 :

Windows 바이너리

대신 Jernej Simončič의 링크가 사용됩니다.

173
Tony

PowerShell을 사용하여 최근에 내가 발견 한 대안 :

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

GET 쿼리에서도 잘 작동합니다.

파일을 다운로드하기 위해 자격 증명을 지정해야하는 경우 다음 행을 추가하십시오.

$client.Credentials =  Get-Credential                

표준 Windows 자격 증명 프롬프트가 나타납니다. 거기에 입력 한 자격 증명은 파일을 다운로드하는 데 사용됩니다. $ client 객체를 사용할 때마다이 작업을 한 번만하면됩니다.

297
Paolo Tedesco

PowerShell> = 3.0 인 경우 Invoke-WebRequest 를 사용할 수 있습니다.

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

또는 골프를 치다

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

Windows에서 HTTP를 통해 파일 다운로드

79
Steven Penny

Windows에는 자체 명령 줄 다운로드 유틸리티가 있습니다. BITSAdmin :

BITSAdmin은 다운로드 또는 업로드 작업을 생성하고 진행 상황을 모니터링하는 데 사용할 수있는 명령 줄 도구입니다.

EDIT : 26.01.15 - 여기서 파일이 어떻게 가능한지에 대한 개요는 다음과 같습니다. 외부 도구없이 창에 다운로드

그리고 완전한 비트 관리자 예 :

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

Edit : 15.05.2018 -certutil을 사용하여 파일을 다운로드 할 수 있음이 밝혀졌습니다 역시 :

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

Certutil은 XP/Win2003에 기본적으로 설치되어 있지 않지만 최신 Windows 버전에서는 사용할 수 있습니다. XP/2003의 경우 Windows Server 2003 용 관리자 도구 팩

60
npocmaka

다음 텍스트를 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");
*/
30
user190042

사용할 수있는 Windows 용 기본 cURL이 있습니다. { 여기 . SSL 지원 여부에 관계없이 다양한 기능을 사용할 수 있습니다.

Cygwin 과 같은 작은 수하물이 필요하지 않습니다. 단지 하나의 작은 EXE 파일입니다.


또한 모든 최신 버전의 Windows Powershell에 wgetcurl 별칭이 모두 포함되어 있음을 아는 것도 중요합니다. 그들은 동등하다.

wget 기능을 얻으려면 추가 파일이나 다운로드가 필요하지 않습니다 :

Powershell의 컬 사용 (사교적 인 괴짜)

발췌 :

GitHub 저장소에서 파일을 다운로드하는 것과 같은 cURL 명령을 입력 할 수 있습니다.

curl http://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json

실제로 작동하는 것처럼 보이지만 실제로는 별칭으로 cURL을 사용하는 것입니다. 위의 경우, 파일 자체 대신 헤더를 얻게 될 것입니다.

PowerShell의 별칭을 사용하면 더 긴 명령에 대한 바로 가기를 만들 수 있으므로 항상 입력하지 않아도됩니다.

Get-Alias ​​명령을 입력하면 PowerShell에서 사용되는 모든 별칭 목록이 제공됩니다. 보시다시피, curl 명령은 Invoke-WebRequest 명령을 호출합니다. 그들은 비슷하지만 동일하지 않아 위의 요청이 우리에게 효과가없는 이유입니다.

enter image description here

PowerShell에서 제대로 작동하려면 가장 간단한 방법은 다음과 같이 변수와 -OutFile 인수를 사용하는 것입니다.

enter image description here

(파일 이름이 " https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/mongodb-on-ubuntu/azuredeploy.json "에서 잘림)

이 구문은 대상 파일 azuredeploy.json의 전체 내용을 로컬 파일에 다운로드합니다 newfile.json


주요 장점은 Powershell 자체에 내장되어 있으므로이 코드는 다운로드하지 않고 직접 실행되거나 Windows의 최신 버전에서 작동하도록 추가로 파일을 만들어야한다는 것입니다.

20
Gaurav Kumar

위에 설명 된 PowerShell 메서드를 호출하는 빠른 myGet.bat 파일을 만들었습니다.

@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 구문 분석에서 일부 코드를 빌 렸습니다.

20
MartinC

나는 동일한 것을 찾고 있었고, 위의 패키지를 설치할 권한이 없었기 때문에 작은 대안 (30 + 파일을 다운로드)을했다.

  • 배치 파일을 만들었습니다.
  • 모든 파일 나열
  • 각 줄의 시작 부분에 firefox.exe 넣기
  • Program Files에서 firefox 디렉토리로 이동했습니다.
  • 그것을 실행하십시오.
8
Jesse P Francis

PowerShell 이 옵션입니다.이 경로가 선호됩니다. 잠재적으로 추가로 설치할 필요가 없기 때문입니다.

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

다른 사람들이 지적한 것처럼 Wget for Windows는 확실히 차선책입니다. 다른 답변에 게시 된 것처럼 당신은 Wget을 모두 다운로드 할 수 있습니다 , 또는 당신은 그것을 Cygwin 또는 MSys .

어떤 이유로 PowerShell 이없고 작동하지 않는 컴퓨터를 사용하여 타임 워핑에 갇혀있는 경우 (즉, 인터넷 Explorer는 시스템의 유일한 브라우저이며 설정이 손상됨) 파일이 HTTP 사이트가 아닌 FTP 사이트에 있습니다.

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

메모리가 제공된다면 Windows 98부터 있었으므로 여전히 Windows 8 RTM에 있음을 확인할 수 있습니다 (appwiz.cpl에 들어가서 기능을 추가/제거해야 할 수도 있음). 이 유틸리티는 웹의 FTP 사이트간에 파일을 다운로드하고 업로드 할 수 있습니다. 스크립트를 사용하여 두 작업을 자동화 할 수도 있습니다 .

이 도구는 내장되어있어 과거에는 특히 ftp.cdrom.com 시절에 실제로 생명의 은인이었습니다. 전화 접속 인터넷 만있는 완전히 깨진 컴퓨터에서 Firefox를 한 번 다운로드했습니다. 연결 (스 니커 넷의 최대 패킷 크기가 여전히 1.44 MB 였고 Firefox가 여전히 "Netscape"/trollface 를 사용하는 경우).

몇 가지 팁 : 자체 명령 프로세서이고 자체 구문을 가지고 있습니다. "도움말"을 입력 해보십시오. 모든 FTP 사이트에는 사용자 이름과 암호가 필요합니다. 그러나 "익명"사용자가 허용하는 경우 사용자 이름은 "익명"이고 암호는 전자 메일 주소입니다 (추적하지 않으려는 경우 암호를 만들 수 있지만 대개의 경우 논리가 있는지 확인해야합니다). 유효한 이메일 주소).

4
BrainSlugs83

Cygwin 에는 Wget (및 더 많은 유틸리티)이 있습니다.

3
Rich Homolka

그리고 http://www.httrack.com/ 에는 사이트 미러링을위한 멋진 GUI가 있습니다 (무료입니다). 또한 Linux 버전도 있습니다.

2
Zsolt Botykai

PowerShell 에 패키지 된 wget을 사용할 수도 있습니다. ; ^) 열려면 Windows 키를 누르고 "powershell"또는 Windows-R을 입력하고 "powershell"을 입력하고 return 키를 누릅니다.

설치가 필요 없습니다.

기존의 wget (더 많은 링크 )에서 한 가지 흥미로운 차이점 : 파일에 파이프보다 큰 것을 단순히 사용할 수는 없습니다. PowerShell의 wgetInvoke-WebRequest의 편리한 래퍼이며 구문을 사용하여 파일에 쓸 필요가 있습니다.

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

https://lolbas-project.github.io 에서 /download 기능을 검색하십시오.

Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10 및 이와 동등한 서버 버전에는 Bitsadmin.exe, Certutil.exe, Esentutl.exe, Expand.exe, Extrac32.exe, Findstr.exe, Hh.exe, Ieexec.exe, Makecab.exe, Replace.exe가 있습니다.

1
noraj

Windows 용 WGet 을 여기에서 얻을 수 있습니다 . 또는 다운로드하려는 항목의 다운로드 링크를 마우스 오른쪽 버튼으로 클릭하고 다른 이름으로 저장을 선택할 수 있습니다. 그러면 파일이 다운로드되고 지정된 응용 프로그램에서 열리지 않습니다.

1
BinaryMisfit

Chocoly를 통해 wget을 설치하는 것이 가장 쉬운 방법이라고 생각합니다.

  1. 설치 초콜릿
  2. 명령 줄에서 다음을 입력하십시오. choco install wget
  3. 그런 다음 * nix 시스템과 같이 명령 행에서 wget을 사용할 수 있습니다.
0
sivabudh

GUI가 필요하다면, 실제로 깨끗하고 기능이 가득한 VisualWget 을 시도해보십시오. GNU Wget의 다운로드 엔진을 기반으로합니다.

수정 : 링크를 업데이 트되었습니다.

0
Wurlitzer

SU 응답 에 설명 된대로 Powershell에서 다음을 사용할 수 있습니다.

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