본문 바로가기
Windows

Powershell 이용해서 명령어로 파일 다운로드 받기 wget curl

by 프즈 2023. 3. 28.
반응형

파일을 그냥 브라우저에서 클릭해서 다운로드하는 것이 제일 쉬운데요. 자동화하거나 한번 만들어 놓고 사용하거나 매크로 같은 것을 만들 때 명령어로 다운로드하는 방법을 알아두면 편리합니다. Powershell을 통해서 인터넷에 있는 파일을 다운로드할 수 있어요. 리눅스 계열에는 wget 이나 curl에 있어서 쉽게 받을 수 있는데요. powershell 에도 비슷한 명령어가 있어요.

파일 다운로드 받기

Invoke-WebRequest -Uri 다운로드URL주소 -OutFile 저장할컴퓨터위치
Invoke-WebRequest -Uri <source> -OutFile <destination>

변수를 활용하면 편하게 관리하면서 이용할 수 있어요.

# 받운로드 받고 싶은 주소
$source = 'http://speedtest.tele2.net/10MB.zip'
# 다운로드 받아서 어디에 저장 할 것인지
$destination = 'c:\디렉토리\10MB.zip'
# 다운로드 시작
Invoke-WebRequest -Uri $source -OutFile $destination

여러 파일 다운로드하기

파일 목록을 먼저 csv 파일로 생성합니다. 저는 목록.csv 파일을 아래 내용으로 만들었습니다.

source,destination
http://speedtest.tele2.net/1MB.zip,C:\Users\win11\Downloads\1MB.zip
http://speedtest.tele2.net/10MB.zip,C:\Users\win11\Downloads\10MB.zip
http://speedtest.tele2.net/100MB.zip,C:\Users\win11\Downloads\100MB.zip

파일을 만들고 나서 Import-Csv 목록.csv 명령어를 실행해 보면 csv에 있는 내용이 보여요.

PS C:\Users\win11\src\mytest> Import-Csv 목록.csv

source                               destination
------                               -----------
http://speedtest.tele2.net/1MB.zip   C:\Users\win11\Downloads\1MB.zip
http://speedtest.tele2.net/10MB.zip  C:\Users\win11\Downloads\10MB.zip
http://speedtest.tele2.net/100MB.zip C:\Users\win11\Downloads\100MB.zip

이 목록을 기반으로 다운로드하도록 | 파이프를 통해서 붙여 줄 수 있어요.

Import-Csv 목록.csv | Start-BitsTransfer -Asynchronous

Asynchronous 옵션으로 명령어를 그대로 사용할 수 있도록 합니다. 

Get-BitsTransfer 명령어를 통해서 다운로드하고 있는 현황을 조회해 볼 수 있어요.

Get-BitsTransfer

JobId                                DisplayName            TransferType JobState     OwnerAccount
-----                                -----------            ------------ --------     ------------
7e0fb7ed-8a36-42b3-b17e-eeaf334e54e1 BITS Transfer          Download     Transferred  win\win11
38c6a33d-34f1-44c5-ae3a-1eb6cfc17a56 BITS Transfer          Download     Transferred  win\win11
9687f588-04ec-49b3-9a06-46da6706dd35 BITS Transfer          Download     Transferred  win\win11
반응형

댓글