テクノロジーガイド

Wgetコマンド完全ガイド — Windowsでの「wget: command not found」を解決

3 min read コマンドライン 更新されました 05 Oct 2025
Windowsでのwgetエラーを解決する完全ガイド
Windowsでのwgetエラーを解決する完全ガイド

要点(TL;DR)

WgetはGUIなしでファイルをダウンロードする強力なコマンドラインツールです。Windowsで「wget: command not found」が出る場合、まずはインストールとPATH設定を確認します。この記事ではWindows/Mac両方のインストール手順、代表的な使い方、注意点、トラブルシューティング、運用向けのSOPやチェックリストまで網羅的に解説します。

Important: サイトをクロールする前に対象サイトの利用規約とrobots.txtを確認し、サーバー負荷を避けるためにレート制限と待機時間を設定してください。

Windowsのコマンドプロンプト画面(Windows 10)

概要

WgetはHTTP、HTTPS、FTPプロトコルをサポートするコマンドラインのダウンローダーです。GUIが不要で自動化に向いています。単一ファイルのダウンロード、複数URLの処理、再帰的なサイトミラー、User-Agentの偽装、速度制限、再開機能などを備えています。Windowsでは標準で入っていないことが多く、「wget: command not found」エラーの主原因になります。

主な用途(1行定義)

  • ファイルダウンロード: URLから直接ファイルを取得する。
  • サイトミラー: 再帰オプションでウェブサイトをローカルに複製する。
  • 自動化: スクリプトから使って定期取得やバッチ処理を行う。

目次

  • Wgetとは何か
  • Windowsでのインストール方法(複数)
  • Macでのインストール
  • 基本的な使い方と主要オプション解説
  • よくあるシナリオと実例コマンド集
  • サイトを複製するときの注意点とSOP
  • トラブルシューティング(command not found の原因別対処)
  • 役割別チェックリスト
  • インシデント対応例(サーバ過負荷を起こした場合)
  • テストケースと受け入れ基準
  • 互換性・移行のヒント
  • セキュリティとプライバシー考慮
  • まとめ

Wgetとは何か、何ができるか

Wgetは非対話型のダウンロードユーティリティです。以下をサポートします。

  • HTTP/HTTPS/FTP経由でファイルを取得
  • 再帰的ダウンロード(ディレクトリとサブディレクトリの取得)
  • User-Agentの設定、Cookieの送受信、認証付きダウンロード
  • 速度制限と待機インターバルでサーバー負荷を抑える
  • 失敗時の再試行やダウンロードの再開

利点は自動化との親和性です。一方、サーバーへの負荷や法的・倫理的な問題には注意が必要です。

Windowsでのインストール方法

以下の方法のいずれかを選べます。用途や管理権限に応じて選択してください。

1) バイナリを直接入手してSystem32に置く(手動)

手順:

  1. 公式や信頼できる配布元からwgetのWindows向けバイナリをダウンロードします(例: ezwinportsやGNUの配布をビルドしたものなど)。
  2. ダウンロードした実行ファイル(wget.exe)をC:\Windows\System32にコピーします。
  3. 新規のコマンドプロンプトを開き、wget -Vでバージョンを確認します。

注意: System32に置くと全ユーザーで利用可能になります。管理者権限が必要です。

2) PATHに追加する(推奨)

手順:

  1. ダウンロードしたwget.exeを任意のフォルダ(例: C:\Program Files\wget\)に置きます。
  2. システム環境変数のPATHにそのフォルダを追加します。手順: 設定 > システム > バージョン情報 > 関連設定の「システムの詳細設定」> 環境変数 > Path を編集。
  3. コマンドプロンプトを再起動し、wget -Vで確認。

メリット: System32に直置きするより安全。管理とアップデートがしやすい。

3) Chocolateyでインストール(Windows向けパッケージ管理)

コマンドプロンプト(管理者)で:

choco install wget -y

インストール後、wget -Vで確認します。Chocolateyはアップデート管理が容易です。

4) Scoopでインストール(非管理者ユーザー向け)

PowerShell(管理者でないでも可)でScoopを導入後:

scoop install wget

ユーザーのホーム下に導入され、PATHも自動で設定されます。

5) WSLやCygwinの利用

  • WSL (Windows Subsystem for Linux) を使うと、Linux版のwgetをそのまま使えます。WSL上でaptやyumでwgetをインストールしてください(例: sudo apt update && sudo apt install wget)。
  • CygwinやMSYS2でも同様に導入できます。

Windowsでの確認コマンド

wget -V
where wget

where wget は実行ファイルの場所を表示します。見つからない場合はPATH設定を確認してください。

Macでのインストール

MacではHomebrewが最も一般的です。手順:

  1. Homebrewをインストール(まだのとき): 公式手順に従います。端末で次を実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  1. wgetをインストール:
brew install wget
  1. 確認:
wget -V

Homebrewの代わりにMacPortsを使うこともできます。

基本的な使い方と主要オプション解説

ここでは実務でよく使うオプションを実例とともに説明します。

構文

wget [オプション]... [URL]...

[オプション]は短い形式(例: -O)と長い形式(例: –output-document)があります。

単一ファイルのダウンロード

wget https://example.com/robots.txt

保存先ディレクトリを指定

wget -P /path/to/dir https://example.com/sitemap.xml

Windowsではパスの書式を適宜変更します: -P “C:\path\to\dir”

ダウンロードしたファイル名を指定

wget -O mypage.html https://example.com/file.html

User-Agentを定義

wget --user-agent="Chrome" https://example.com/file.html

実際にはブラウザの完全なUser-Agent文字列を入れるほうが確実です。

Googlebotとしてアクセス(例)

wget --user-agent="Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" https://example.com/path

User-Agent偽装は一部のサイトで利用規約違反になることがあります。利用前に確認してください。

robots.txtを変更時のみ取得(タイムスタンプ活用)

初回ダウンロードでヘッダ情報を確認:

wget -S https://example.com/robots.txt

以降、更新がある場合のみ取得:

wget -N https://example.com/robots.txt

-N はサーバーのLast-Modifiedを見て差分があるときのみダウンロードします。

HTML内のリンクをローカル用に変換

wget --convert-links https://example.com/path

単一ページをローカルで動作するように複製

wget -E -H -k -K -p --convert-links https://example.com/path

オプションの意味は後述しています。

複数URLの一括ダウンロード

ファイル (urls.txt) を作成し、各行にURLを並べます。

https://example.com/1
https://example.com/2
https://example.com/3

実行:

wget -i urls.txt

注: 元の文書では -I と誤記されていました。複数URL入力には -i を使います。

ダウンロード速度の制限と待機

wget --wait=1 --limit-rate=10K https://example.com/file

–wait=1 はリクエスト間の待機秒数。–limit-rate=10K は転送速度をおよそ10キロバイト/秒に制限します。単位はK,M,Gが使えます。

再帰的にサイト全体を取得(要注意)

wget --recursive --page-requisites --adjust-extension --span-hosts --wait=1 --limit-rate=10K --convert-links --restrict-file-names=windows --no-clobber --domains=example.com --no-parent https://example.com

主要オプションの説明:

  • –recursive: 再帰ダウンロード(深さ指定可能)
  • –page-requisites: ページ表示に必要なすべてのリソースを取得(画像、CSS等)
  • –adjust-extension: 適切な拡張子(.html等)を付与
  • –span-hosts: 外部ホストのリソースも取得する
  • –wait, –limit-rate: サーバー負荷軽減用
  • –convert-links: ローカルで機能するようリンクを書き換える
  • –restrict-file-names=windows: Windowsで安全なファイル名に変換
  • –no-clobber: 既存ファイルを上書きしない
  • –domains=example.com: 指定ドメイン外は追跡しない
  • –no-parent: 親ディレクトリには遡らない

重要: 再帰的ダウンロードは対象サイトに負荷を掛けます。必ず許可を得るか、robots.txtの指示に従ってください。

よくあるシナリオと実例コマンド集

  • ダウンロードを途中から再開するには:
wget -c https://example.com/largefile.zip

-c (–continue) は部分ダウンロードの続行を試みます。

  • Basic認証のあるサーバから取得:
wget --user=username --password=secret https://example.com/secret.zip
  • Cookieを使ってログイン後のページを取得:
  1. ブラウザでログインしてCookieを取得、またはwgetでログインフォームを投稿してCookieを保存。
  2. 保存したCookieを使う:
wget --load-cookies cookies.txt https://example.com/private
  • タイムアウトと再試行の設定:
wget --tries=5 --timeout=30 https://example.com/file

tries は試行回数、timeout は接続タイムアウト(秒)です。

サイトを複製するときの運用SOP(簡易版)

目的: 許可を得た上で、サイトのローカル複製を安全に取得する手順。

手順:

  1. 対象サイトの利用規約と robots.txt を確認する。
  2. 所有者に連絡し、クロール窓口と許可範囲を確認する。
  3. クロールの範囲(ドメイン、パス、深さ)を定義する。
  4. テスト環境で小規模(1ページ〜数ページ)を試行する。
  5. –wait と –limit-rate を設定する(例: –wait=2 –limit-rate=50K)。
  6. 監視を準備し、サーバのレスポンスを確認する(負荷が上がれば即中止)。
  7. 完了後、データ整合性チェックを実施する(ファイル数やサイズを比較)。

チェックリスト(短縮):

  • robots.txtの確認
  • サイトオーナーに通知/許可
  • 深さとドメイン制限を設定
  • レート制限を入れて実行
  • ログを保存して監査

トラブルシューティング: wget: command not found の原因別対処

原因と対処:

  1. wgetが未インストール

    • 対処: インストール方法(Chocolatey、Scoop、手動)で導入。
  2. PATHに登録されていない

    • 対処: where wget で場所を確認し、パスが通っていない場合は環境変数に追加して再起動。
  3. 管理者権限でSystem32に置いたがコマンドプロンプトを再起動していない

    • 対処: 新しいターミナルを開く。
  4. 名前の衝突(古い別コマンドやスクリプトが優先されている)

    • 対処: where wget で優先されている実行ファイルのパスを確認。不要なものを取り除く。
  5. WSLで動かしていると勘違いしている

    • 対処: Windows側のwgetとWSL内のwgetは別物。使う環境に合わせてインストールする。

役割別チェックリスト

開発者:

  • wgetのインストール方法をスクリプト化する
  • テスト用の小さなURLセットで基本機能を確認
  • 自動化ジョブのログを保存する

システム管理者:

  • パッケージ管理(Chocolatey/Scoop/WSL)で管理
  • PATHと権限を適切に設定
  • 大規模クロール時は監視を準備(ネットワーク/CPU/IO)

SEO担当者:

  • robots.txtとメタタグに従う
  • User-Agentの偽装は慎重に行う
  • サイトマップやrobots.txtの変更のみを定期取得すると効率的

インシデント対応例: サイトに過負荷を与えてしまった場合の手順

  1. 即時停止: 実行中のwgetプロセスを中止(Ctrl+Cまたはタスクマネージャでプロセスを終了)。
  2. 対象サーバー所有者に連絡して謝罪と連絡先を伝える。
  3. 実行ログを調査し、何が原因で高負荷になったかを特定(深さ設定間違い、span-hostsの誤使用など)。
  4. 設定を修正(待機時間増、limit-rate低下、ドメイン制限)。
  5. 再発防止: SOPの更新と自動化スクリプトに安全チェックを追加。

テストケースと受け入れ基準(Критерии приёмки)

テストケース例:

  • 単一ファイル取得: wget single-url -> ファイルが存在し、サイズが期待どおりである。
  • 再帰取得(深さ=1): 指定範囲のみ取得されている。
  • 再開機能: ダウンロード中断後、-cで続行して最終的に一致する。
  • タイムスタンプ: -N を使って更新がない場合は再取得しない。

受け入れ基準:

  • ダウンロードされたファイル数と合計サイズが期待値の±5%以内(状況により変動するため定性的確認でも可)。
  • 取得によりサーバーエラーを引き起こしていないこと(HTTP 5xxの急増がない)。
  • ログが保存され、エラー時は原因が特定できること。

互換性・移行のヒント

  • Windowsではバイナリ、Chocolatey、Scoop、WSLなど複数の導入方法がある。CI環境や自動化環境ではパッケージ管理ツールを使うのが望ましい。
  • Linux/MacとWindowsでコマンドの文字列処理やパス表記が異なるため、スクリプトは環境判定を入れて切り替える。

セキュリティとプライバシー

  • 認証情報(–user/–password)は公開リポジトリやログに残さないでください。代替としてCookieやトークンを安全に管理すること。
  • User-Agentの偽装は法的・契約的に問題になる場合があります。利用規約を確認してください。
  • 取得したデータに個人情報が含まれる場合はGDPR等の法規制に従い、保存・利用・削除の方針を確立してください。

代替ツールと使い分け

  • curl: 単発のHTTPリクエストやAPI呼び出しではcurlが柔軟で広く使われます。wgetは再帰取得や大規模ダウンロードに強い。
  • HTTrack: GUI/専用ツールでサイトミラーに特化している。
  • プログラム(PythonのrequestsやScrapy): 複雑なスクレイピングや構造化データ抽出にはプログラム的アプローチが有利。

選び方のヒューリスティック: 簡単なファイル取得はwget/curl、サイト全体の複製はwget/HTTrack、複雑な抽出はプログラムで。

ミニメソドロジー: 安全にサイトを取得する5ステップ

  1. 目的を定義する(何を、なぜ取るか)。
  2. 権利確認(robots.txt・利用規約・許可)
  3. 小規模で検証(サンプルURL)
  4. 本実行はレート制限と監視を入れて行う
  5. 結果確認とログ保存

簡易決定フロー(Mermaid)

flowchart TD
  A[開始: ダウンロードしたい?] --> B{サイトの許可はあるか}
  B -- ある --> C[小規模でテスト実行]
  B -- ない --> D[robots.txtを確認し、必要なら連絡]
  C --> E{負荷は問題ないか}
  E -- はい --> F[本実行(レート制限を設定)]
  E -- いいえ --> G[設定を調整して再テスト]
  D --> H[許可を得る or 範囲を限定]
  H --> C
  F --> I[完了・ログ保存]

ミニ用語集(1行ずつ)

  • User-Agent: クライアントの識別文字列。
  • robots.txt: クロールの方針を示すファイル。
  • –recursive: 再帰的にリンクを辿るオプション。
  • –limit-rate: ダウンロード速度制限。

まとめ

Wgetは強力なコマンドラインツールです。Windowsで「wget: command not found」が出たら、まずはインストールとPATHを確認してください。用途に応じてChocolateyやScoop、WSLを使うことで運用が安定します。サイトをクローリングする際は必ず許可とレート制限を守り、運用SOPを準備してから実行してください。

Windowsでの「wget: command not found」エラーメッセージ

要点再掲:

  • wgetが見つからない場合はインストールまたはPATH設定を確認する。
  • 再帰的ダウンロードではサーバー負荷と利用規約に注意する。
  • Chocolatey/Scoop/WSLはWindows運用で便利。

Notes: この記事は実務での安全運用とトラブル回避を重視しています。疑問があれば実行前にテスト環境で試してください。

共有する: X/Twitter Facebook LinkedIn Telegram
著者
編集

類似の素材

RokuのHowdyをRoku以外で視聴する完全ガイド
ストリーミング

RokuのHowdyをRoku以外で視聴する完全ガイド

機内でWi‑Fiを速くする方法とチェックリスト
旅行・テック

機内でWi‑Fiを速くする方法とチェックリスト

マン・イン・ザ・プロンプト攻撃とは?検出と対策ガイド
セキュリティ

マン・イン・ザ・プロンプト攻撃とは?検出と対策ガイド

Gmailハックの復旧と予防ガイド
オンラインセキュリティ

Gmailハックの復旧と予防ガイド

Windowsでのwgetエラーを解決する完全ガイド
コマンドライン

Windowsでのwgetエラーを解決する完全ガイド

カナダでAppleデバイスのデータを守る7つの方法
セキュリティ

カナダでAppleデバイスのデータを守る7つの方法