ツール

WindowsのPowerShellを使って外部サイトの画像をwgetする

10 年くらい前になりますが、Windows で wget を使った記事を書きました。

Windowsのコマンドプロンプトやシェルからwgetを実行してみるLinux サーバなどで外部のサイトからファイルをダウンロード(httpやftp)する場合、wget を使う機会が多いですが、実は Wi...

最近になって、とあるブログサービスの CDN にある画像ファイルを、ローカルにダウンロードしたいなという場面に遭遇しました。

ブラウザで右クリックして保存するのも面倒だったので、せっかくなら Windows10 でも wget ができないか調べてみました。

wgetはWindows10に対応していない

Wget のサイトを見てみると、最終更新が 2008 年になっていて進展がありません。

exe や dll が使える可能性はありますが、10 年以上前のものを意地でも使う必要はありません。

ローカルに Cygwin や VirtualBox(Vagrant)などがあれば、そこで取得したものをファイル共有という手段も取れます。

しかし、そんな環境がない場合もありますよね。

そんな時、PowerShell 上で Invoke-WebRequest を利用する記事を見つけました。

Invoke-WebRequestを試す

いまでも、ついつい「Windowsシステムツール」内にあるコマンドプロンプトを起動してしまいがちなのですが、Windows でターミナルと言えばもう PowerShell ですよね。

ということで、Invoke-WebRequest を使ってみます。

欲しいリソース(画像など)の URL と保存先のファイル名を指定するだけのシンプルなコマンドです。

-Uri:リソースURL
-OutFile:出力ファイル名

外部サイトのリソース URL に規則性があればコマンド作成も楽ですが、ランダムなファイル名だと、ファイル名を先に特定する必要があるので、右クリックで頑張るかどうかは量と時間次第ですね。