WINGET(パッケージ管理)
アプリを入れるたびに公式サイトを探してインストーラーをダウンロードし、画面の指示に従って「次へ」を押し続けるのは手間がかかります。
winget(Windows パッケージ マネージャー)を使うと、コマンドプロンプトからアプリの検索・インストール・更新・削除をまとめて行えます。
winget とは
winget は Windows に付属するコマンドライン用のパッケージ管理ツールです。Windows 11 と、最近の Windows 10 には「アプリ インストーラー」の一部として最初から入っています。
まず、コマンドプロンプトで使えるか確認します。
winget --version
バージョン番号が表示されれば利用できます(番号は環境によって異なります)。「‘winget’ は、内部コマンドまたは外部コマンド…として認識されていません」と表示される場合は、Microsoft Store で「アプリ インストーラー」を更新してください。
winget 自体は通常のコマンドプロンプトで実行できます。ただし、アプリによってはインストール時に管理者権限の確認(UAC)が表示されます。システム全体にインストールするアプリを自動で処理したい場合は、
の手順で管理者として起動してください。主要なコマンド
| コマンド | 説明 |
|---|---|
winget search 名前 | アプリを検索する |
winget show ID | アプリの詳細情報を表示する |
winget install ID | アプリをインストールする |
winget list | インストール済みアプリの一覧を表示する |
winget upgrade | 更新できるアプリの一覧を表示する |
winget upgrade ID | 指定したアプリを更新する |
winget uninstall ID | アプリをアンインストールする |
winget export / import | アプリの一覧を保存・そこから復元する |
アプリを検索する
winget search vscode

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
左から順に「名前」「ID」「バージョン」などが表示されます。以降のコマンドでは、この ID を使うのが確実です。ID はたいてい 発行元.アプリ名 の形式で付けられています。
検索結果の項目やバージョンは、winget のバージョンや時期によって異なります。上の出力は一例です。
アプリをインストールする
winget install --id Microsoft.VisualStudioCode -e
--id で ID を指定し、-e(--exact)を付けると、ID や名前が完全に一致するものだけが対象になります。付けないと部分一致で複数のアプリが候補に挙がり、エラーになることがあります。
初回のインストールでは、ソース(パッケージの配布元)の利用条件への同意を求められます。Y を入力して続行してください。
よく使うオプション
| オプション | 説明 |
|---|---|
-e, --exact | 名前・ID を完全一致で検索する |
--id ID | ID を指定する |
-s, --source 名前 | 検索するソースを指定する(例: winget) |
--version バージョン | インストールするバージョンを指定する |
-h, --silent | インストーラーの画面を表示せずにインストールする |
--accept-package-agreements | パッケージの使用許諾に自動で同意する |
--accept-source-agreements | ソースの利用条件に自動で同意する |
メッセージなどに邪魔されず自動で実行したい場合は、次のようにまとめて指定します。
winget install --id Git.Git -e --silent --accept-package-agreements --accept-source-agreements
--accept-package-agreements は、使用許諾への同意を自動化するオプションです。自分で内容を確認していないアプリには付けないでください。
インストール済みアプリを確認する
winget list
winget 以外の方法で入れたアプリも一覧に表示されます。名前を指定して絞り込むこともできます。
winget list git
アプリを更新する
更新できるアプリの一覧を表示します。
winget upgrade
特定のアプリだけ更新するには、ID を指定します。
winget upgrade --id Git.Git -e
更新できるアプリをまとめて更新する場合は --all を使います。
winget upgrade --all
winget upgrade を実行すると、更新できるアプリの件数が最後に表示されます。まず一覧で内容を確認してから --all を実行すると安心です。
バージョンを判定できないアプリは、通常の winget upgrade --all では対象外になることがあります。必要な場合は --include-unknown を付けて実行できますが、意図しないアプリが更新される可能性があるため、一覧を確認してから使ってください。
アプリをアンインストールする
winget uninstall --id Git.Git -e
アプリの一覧を保存して別のPCで復元する
PC の入れ替えやセットアップのやり直しで役立つのが、export と import です。
winget export -o apps.json
winget import -i apps.json
apps.json は JSON 形式のファイルで、ソースから入手できるアプリの ID が記録されます。ソースに登録されていないアプリは復元できません。
他人から受け取った JSON ファイルをそのまま import すると、記載されたアプリがすべてインストールされます。実行前に必ず中身を確認してください。
バッチファイルで自動化する
新しい PC のセットアップを、バッチファイルにまとめる例です。
@echo off
for %%I in (Git.Git Microsoft.VisualStudioCode 7zip.7zip) do (
echo Installing %%I ...
winget install --id %%I -e --silent --accept-package-agreements --accept-source-agreements
if errorlevel 1 echo [Warning] winget returned an error for %%I.
)
echo Done.
pause
winget は処理が成功すると 0 を返します。ただし「すでにインストール済み」「更新できるものがない」といった場合にも、0 以外の終了コードで終わることがあります。そのため、上の例では、インストール済みのアプリでも警告が表示されることがあります。終了コードの扱いは
うまくいかないとき
- ソース(msstore など)の検索でエラーが出る:
winget source updateを実行してから、もう一度試してください。 - 複数のアプリが見つかったと表示される:
-eを付けて ID を指定するか、winget searchで ID を確認してください。 - ID がわからない:
winget search アプリ名で調べます。
まとめ
| 目的 | コマンド |
|---|---|
| アプリを探す | winget search 名前 |
| インストールする | winget install --id ID -e |
| 更新できるアプリを確認する | winget upgrade |
| すべて更新する | winget upgrade --all |
| アンインストールする | winget uninstall --id ID -e |
| 一覧を保存・復元する | winget export -o ファイル / winget import -i ファイル |