PowerShellでwget、curl的なURL指定でのファイルダウンロード

PowerShellでURLを指定してWebからファイルをダウンロードしたい場合、invoke-webrequestを使う。

invoke-webrequest -uri <URL> -outfile <保存先パス>

で保存される。保存先パスは保存場所ではなくファイル名まで指定する。また、invoke-webrequestHtmlWebResponseObjectを返すことを利用して

(invoke-webrequest -uri <URL>).content > <保存先パス>

でも同様のことが可能だ。

名前の通りinvoke-webrequestはダウンロードのためのコマンドというよりはWebリクエストを実行するためのコマンドで、ヘルプを眺めていると色々面白い。JSON関係のコマンドレット、REST API呼び出しに特化したコマンドレットも用意されているので、HTMLフォームのPOSTを挟んだり、REST APIを間に挟むような処理も自動化できるようになっている。