あいしんくいっとオススメ商品レビュー

【Windows】PowerShellでファイルダウンロードする方法

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

本記事対象者
PowerShellのコマンドレットでファイルダウンロードしたい方

ども。あいしんくいっと(@ithinkitnet)です。

以前、DOSコマンドとPowerShellでファイルダウンロードする記事を書きました。
windowsのコマンド(DOS/PowerShell)でファイルをダウンロードする方法について

今回はPoweShellのコマンドレットを使った、ファイルダウンロードについて少し掘り下げて書いておきたいと思います。

Invoke-WebRequestでファイルダウンロード

PowerShellでファイルダウンロードするためには「Invoke-WebRequest」というコマンドレットを使います。

Invoke-WebRequest使用例

Invoke-WebRequest -Uri DL対象ファイルURL -OutFile DLファイル名

Invoke-WebRequestコマンドレットを用いて、下記のようにファイルダウンロード可能です。

Invoke-WebRequestコマンドレット

 Invoke-WebRequest -Uri "http://mirror.centos.org/centos/7/os/x86_64/Packages/389-ds-base-1.3.8.4-15.el7.x86_64.rpm" -OutFile "C:\Users\Administrator\Desktop\389-ds-base-1.3.8.4-15.el7.x86_64.rpm"

これで「389-ds-base-1.3.8.4-15.el7.x86_64.rpm」が「C:¥Users¥Administrator¥Desktop」以下にダウンロードされます。

注意

既に同一ファイルが存在する場合、強制的に上書きされるので注意してください。

Invoke-WebRequestで複数ダウンロード

Invoke-WebRequestコマンドレットを並べることで複数ダウンロードが可能です。
このようにPowerShellスクリプトとしてInvoke-WebRequestコマンドレットを並べて実行します。
Invoke-WebRequestコマンドレットを並べたPowerShellスクリプト

powershell_iseで実行するとダウンロード状況が確認可能です。
powershell_iseでダウンロード状況確認可能

ファイルURLとファイル名を引数で

Invoke-WebRequestコマンドレット単体だと使い勝手が悪い過ぎます。
なので、引数付きで実行できるようPowerShellスクリプトにしておくと便利です。

例えば、こんな感じで。

file-download.ps1

Param($1,$2)
Invoke-WebRequest -Uri "$1" -OutFile "$2"
file-download.ps1実行例)

> .\file-download2.ps1 http://mirror.centos.org/centos/7/os/x86_64/Packages/bind-9.9.4-72.el7.x86_64.rpm  bind-9.9.4-72.el7.x86_64.rpm

作成したスクリプト実行時に引数としてURLとファイル名を指定することによって、ファイルダウンロードが可能になりました。
あんまり楽になってないのはご愛嬌w


これからはPowerShellの時代だと思っているので、DOSコマンドに加えてこちらも覚えておくと良いでしょう!

以上、あいしんくいっとでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)