この記事には広告を含む場合があります。
記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。
ども。あいしんくいっと(@ithinkitnet)です。
以前、DOSコマンドとPowerShellでファイルダウンロードする記事を書きました。
windowsのコマンド(DOS/PowerShell)でファイルをダウンロードする方法について
今回はPoweShellのコマンドレットを使った、ファイルダウンロードについて少し掘り下げて書いておきたいと思います。
Invoke-WebRequestでファイルダウンロード
PowerShellでファイルダウンロードするためには「Invoke-WebRequest」というコマンドレットを使います。
Invoke-WebRequest -Uri DL対象ファイルURL -OutFile DLファイル名
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コマンドレットを並べて実行します。
powershell_iseで実行するとダウンロード状況が確認可能です。
ファイルURLとファイル名を引数で
Invoke-WebRequestコマンドレット単体だと使い勝手が悪い過ぎます。
なので、引数付きで実行できるようPowerShellスクリプトにしておくと便利です。
例えば、こんな感じで。
Param($1,$2)
Invoke-WebRequest -Uri "$1" -OutFile "$2"
> .\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コマンドに加えてこちらも覚えておくと良いでしょう!
以上、あいしんくいっとでした。