wingetコマンド チートシート

cheatsheet

📦 パッケージの検索 (Search)

インストール可能なパッケージを探します。

目的コマンド例説明
キーワードで検索
winget search <キーワード>
パッケージ名や説明にキーワードが含まれるものを検索します。例: winget search browser
ID で完全一致検索
winget search --id <パッケージID>
指定したパッケージIDに完全に一致するものを検索します。例: winget search --id Microsoft.PowerToys
名前で検索
winget search --name <パッケージ名>
パッケージ名で検索します。例: winget search --name PowerToys
Moniker で検索
winget search --moniker <モニカー>
パッケージのモニカー(別名)で検索します。例: winget search --moniker vscode
タグで検索
winget search --tag <タグ>
指定したタグが付与されたパッケージを検索します。例: winget search --tag utility
コマンド名で検索
winget search --command <コマンド名>
パッケージに含まれる実行ファイル名(コマンド)で検索します。例: winget search --command code
特定のソースから検索
winget search <キーワード> --source <ソース名>
msstore や追加したカスタムソースなど、特定のソースのみを対象に検索します。例: winget search powertoys --source winget
結果数を制限して検索
winget search <キーワード> --count <数>
検索結果の表示数を指定します。例: winget search editor --count 5
すべてのパッケージを表示 (※量が多い)
winget search ""
空の文字列を検索することで、利用可能なすべてのパッケージをリストアップしようと試みます (非常に多くの結果が返る可能性があります)。

ℹ️ パッケージの詳細表示 (Show)

特定のパッケージに関する詳細情報を表示します。

目的コマンド例説明
パッケージの詳細表示
winget show --id <パッケージID>
指定したIDのパッケージの詳細情報(バージョン、説明、ホームページ、ライセンスなど)を表示します。ID指定が最も確実です。例: winget show --id Microsoft.PowerToys
キーワードで検索して詳細表示 (複数候補時)
winget show <キーワード>
キーワードに一致するパッケージが1つだけ見つかった場合に詳細を表示します。複数見つかった場合はリストが表示されます。例: winget show powertoys
特定のバージョンの情報を表示
winget show --id <パッケージID> --version <バージョン>
指定したバージョンのパッケージ情報を表示します。例: winget show --id Microsoft.PowerToys --version 0.60.0
利用可能な全バージョンを表示
winget show --id <パッケージID> --versions
指定したIDのパッケージで、インストール可能なすべてのバージョンをリスト表示します。例: winget show --id Microsoft.PowerToys --versions
特定のソースのパッケージ詳細表示
winget show --id <パッケージID> --source <ソース名>
指定したソースにあるパッケージの詳細を表示します。例: winget show --id 9NBLGGH4NNS1 --source msstore (Microsoft Store の電卓アプリの例)

📥 パッケージのインストール (Install)

パッケージをシステムにインストールします。

目的コマンド例説明
パッケージをインストール (ID指定)
winget install --id <パッケージID>
指定したIDのパッケージをインストールします。最も確実な方法です。例: winget install --id Microsoft.PowerToys
パッケージをインストール (キーワード)
winget install <キーワード>
キーワードで検索し、一意に特定できればインストールします。複数候補がある場合は選択を求められます。例: winget install powertoys
特定のバージョンをインストール
winget install --id <パッケージID> --version <バージョン>
指定したバージョンのパッケージをインストールします。例: winget install --id Microsoft.PowerToys --version 0.60.0
特定のソースからインストール
winget install --id <パッケージID> --source <ソース名>
指定したソースからパッケージをインストールします。例: winget install --id 9NBLGGH4NNS1 --source msstore
サイレントインストール (対話なし)
winget install --id <パッケージID> --silent
ユーザーとの対話(プロンプト表示など)なしでインストールを試みます。インストーラーが対応している必要があります。
インタラクティブインストール (対話あり)
winget install --id <パッケージID> --interactive
インストーラーのUIを表示して、ユーザーが設定を選択できるようにします。
インストールスコープを指定 (ユーザー)
winget install --id <パッケージID> --scope user
現在のユーザーのみにインストールします。管理者権限が不要な場合があります。
インストールスコープを指定 (マシン)
winget install --id <パッケージID> --scope machine
システム上の全ユーザー向けにインストールします。通常、管理者権限が必要です。
カスタムインストール場所を指定
winget install --id <パッケージID> --location <パス>
インストール先のディレクトリを指定します。インストーラーが対応している必要があります。例: winget install --id Git.Git --location "C:\CustomGit"
複数パッケージをまとめてインストール
winget install --id <ID1> --id <ID2> ...
複数の --id オプションを使って、一度に複数のパッケージをインストールします。例: winget install --id Microsoft.PowerToys --id Microsoft.VisualStudioCode
パッケージライセンスに自動同意
winget install --id <パッケージID> --accept-package-agreements
パッケージのライセンス条項への同意を自動化します。スクリプト実行時などに便利です。
ソース使用許諾契約に自動同意
winget install --id <パッケージID> --accept-source-agreements
Microsoft Store などのソースの利用規約への同意を自動化します。
ハッシュ値の検証を無視 (非推奨 ⚠️)
winget install --id <パッケージID> --ignore-security-hash
ダウンロードしたインストーラーのハッシュ値がマニフェストと一致しなくてもインストールを続行します。セキュリティリスクがあるため通常は使用しません。
インストーラー引数を渡す
winget install --id <パッケージID> --override <引数>
インストーラーに直接渡す引数を指定します。例: winget install --id SomeApp.SomeApp --override "/S /D=C:\App" (インストーラー依存)

⬆️ パッケージの更新 (Upgrade)

インストール済みパッケージを最新バージョンに更新します。

目的コマンド例説明
更新可能なパッケージを一覧表示
winget upgrade
インストール済みで、より新しいバージョンが利用可能なパッケージをリストアップします。
特定のパッケージを更新 (ID指定)
winget upgrade --id <パッケージID>
指定したIDのパッケージを最新バージョンに更新します。例: winget upgrade --id Microsoft.PowerToys
特定のパッケージを更新 (キーワード)
winget upgrade <キーワード>
キーワードで検索し、一意に特定できれば更新します。例: winget upgrade powertoys
すべてのパッケージを更新
winget upgrade --all
更新可能なすべてのパッケージを更新します。時間がかかる場合があります。
サイレント更新
winget upgrade --id <パッケージID> --silent
対話なしでパッケージを更新します。--all と組み合わせることも可能です: winget upgrade --all --silent
特定のバージョンに更新
winget upgrade --id <パッケージID> --version <バージョン>
指定したバージョンへ更新します。(ダウングレードは通常できません)
更新時にライセンスに自動同意
winget upgrade --id <パッケージID> --accept-package-agreements
更新時のパッケージライセンス同意を自動化します。--all と組み合わせ可能。
更新時にソース規約に自動同意
winget upgrade --id <パッケージID> --accept-source-agreements
更新時のソース利用規約同意を自動化します。--all と組み合わせ可能。
特定のパッケージを除外してすべて更新
winget upgrade --all --exclude <除外ID1> --exclude <除外ID2>
--exclude で指定したパッケージ以外をすべて更新します。複数指定可能です。
特定のパッケージのみ含めて更新
winget upgrade --include <対象ID1> --include <対象ID2>
--include で指定したパッケージのみを更新します。複数指定可能です。(v1.7以降で利用可能になる可能性) 現在は個別に指定するか --all で更新後、不要なものをダウングレードするなどの対応が必要です。winget upgrade <ID1> <ID2> ... のように複数ID指定での更新も可能です。
更新対象にピン留めされたパッケージを含める
winget upgrade --all --include-pinned
winget pin で更新対象外に固定されたパッケージも強制的に更新対象に含めます。

🗑️ パッケージのアンインストール (Uninstall)

システムからパッケージを削除します。

目的コマンド例説明
パッケージをアンインストール (ID指定)
winget uninstall --id <パッケージID>
指定したIDのパッケージをアンインストールします。最も確実です。例: winget uninstall --id Microsoft.PowerToys
パッケージをアンインストール (キーワード)
winget uninstall <キーワード>
キーワードで検索し、一意に特定できればアンインストールします。複数候補がある場合は選択を求められます。例: winget uninstall powertoys
特定のバージョンをアンインストール
winget uninstall --id <パッケージID> --version <バージョン>
指定したバージョンのパッケージをアンインストールします。例: winget uninstall --id Microsoft.PowerToys --version 0.60.0
サイレントアンインストール
winget uninstall --id <パッケージID> --silent
対話なしでパッケージをアンインストールします。
スコープを指定してアンインストール
winget uninstall --id <パッケージID> --scope <user|machine>
特定のスコープ(ユーザーまたはマシン)でインストールされたパッケージをアンインストールします。
製品コードを指定してアンインストール
winget uninstall --product-code <製品コード>
Windows が内部的に使用する製品コード (ProductCode) を指定してアンインストールします。winget list で確認できます。
インストール済みパッケージ一覧表示
winget list
winget で管理されている、またはシステムにインストールされているアプリケーションの一覧を表示します。アンインストール対象を探す際に役立ちます。キーワードでの絞り込みも可能です: winget list <キーワード>

パッケージを取得するリポジトリ(ソース)を管理します。

目的コマンド例説明
ソースの一覧表示
winget source list
現在設定されているソース(リポジトリ)の一覧を表示します。デフォルトは wingetmsstore です。
ソースの追加
winget source add --name <ソース名> --arg <ソースURL>
新しいソースを追加します。--type でソースの種類を指定することもできます (例: Microsoft.PreIndexed.Package)。例: winget source add --name MyRepo --arg https://myrepo.example.com/source
ソースの情報を更新
winget source update
すべてのソースのパッケージ情報を最新の状態に更新します。特定のソースのみ更新する場合は winget source update --name <ソース名> を使用します。
ソースの削除
winget source remove --name <ソース名>
指定した名前のソースを削除します。デフォルトのソースは削除できません。
ソース設定をリセット
winget source reset --force
ソースの設定を初期状態に戻します。追加したカスタムソースは削除され、デフォルトソースが再設定されます。--force が必要です。
ソースのエクスポート (バックアップ)
winget source export
現在のソース構成を JSON 形式で標準出力またはファイルに出力します。バックアップや他の環境への移行に利用できます。ファイル出力: winget source export -o sources.json

⚙️ 設定 (Settings)

winget クライアントの動作設定を確認・変更します。

目的コマンド例説明
設定ファイルを開く
winget settings
JSON 形式の設定ファイルをデフォルトのテキストエディタで開きます。設定項目はこのファイルで直接編集します。
設定を検証する
winget settings --validate
現在の設定ファイル (settings.json) が正しい形式であるか検証します。
利用可能な設定項目 (一部例)
{
  "visual": {
    "progressBar": "rainbow" // プログレスバーのスタイル (accent, retro, rainbow)
  },
  "installBehavior": {
    "preferences": {
      "scope": "user", // デフォルトのインストールスコープ (user or machine)
      "locale": ["ja-JP", "en-US"] // 優先するロケール
    },
    "disableInstallNotes": true // インストール後のメモ表示を無効化
  },
  "uninstallBehavior": { // アンインストール時の設定 (installBehaviorと同様の項目あり)
    "purgePortablePackage": true // ポータブルパッケージの関連フォルダも削除
  },
  "downloadBehavior": {
    "defaultDownloadDirectory": "%USERPROFILE%\\Downloads\\Winget" // ダウンロード先フォルダ
  },
  "telemetry": {
    "disable": true // テレメトリ送信を無効化
  },
   "network": {
    "downloader": "do" // 使用するダウンローダー (wininet, do, default) DO=配信の最適化
  }
}
設定ファイル (settings.json) 内で変更可能な項目の一部です。詳細は公式ドキュメントを参照してください。

💡 設定ファイルは通常 %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json にあります。

🧪 機能の有効化/無効化 (Features)

実験的な機能の状態を確認・変更します。

目的コマンド例説明
利用可能な実験的機能を表示
winget features
現在利用可能(有効化/無効化可能)な実験的機能とその状態(有効/無効)を一覧表示します。
実験的機能を有効化する設定ファイル (settings.json) を編集winget settings で設定ファイルを開き、experimentalFeatures オブジェクト内で、対象の機能 (例: configuration) を true に設定します。
"experimentalFeatures": {
  "configuration": true,
  "otherFeature": false
}
実験的機能を無効化する設定ファイル (settings.json) を編集上記と同様に設定ファイルを開き、対象の機能を false に設定します。

⚠️ 実験的機能は、将来のバージョンで変更または削除される可能性があります。

🛠️ 構成ファイル (Configure) 実験的機能

構成ファイル (YAML) を使用して、システムの状態を宣言的に管理します。

この機能を使用するには、winget featuresconfiguration を有効にする必要があります。

目的コマンド例説明
構成ファイルを適用する
winget configure <構成ファイル.yaml>
指定された YAML 形式の構成ファイルに従って、パッケージのインストールや設定変更など、システムの状態を構成します。例: winget configure .\myconfig.yaml
構成ファイルの適用 (リモート)
winget configure <URL>
URL で指定されたリモートの構成ファイルをダウンロードして適用します。例: winget configure https://example.com/config.yaml
構成ファイルを検証する
winget configure validate <構成ファイル.yaml>
構成ファイルが構文的に正しいか、また参照しているリソースが利用可能かなどを検証します。システムへの変更は行いません。
現在のシステム状態をテストする
winget configure test <構成ファイル.yaml>
構成ファイルで定義された望ましい状態と、現在のシステム状態を比較し、差分があれば報告します。システムへの変更は行いません。
構成ファイルの詳細を表示
winget configure show <構成ファイル.yaml>
構成ファイルの内容と、各リソースの現在の状態、および適用後の期待される状態を表示します。

💾 エクスポート/インポート (Export/Import)

インストール済みパッケージのリストをファイルに保存したり、ファイルから復元したりします。

目的コマンド例説明
インストール済みパッケージをエクスポート
winget export -o <ファイル名.json>
winget でインストールしたパッケージ(または --include-unknown を付ければシステム上の多くのアプリ)のリストを JSON ファイルに出力します。例: winget export -o myapps.json
特定のソースのパッケージのみエクスポート
winget export -o <ファイル名.json> --source <ソース名>
指定したソースからインストールされたパッケージのみをエクスポートします。例: winget export -o winget_apps.json --source winget
ファイルからパッケージをインポート (インストール)
winget import -i <ファイル名.json>
エクスポートされた JSON ファイルを読み込み、リストされているパッケージをインストールします。既にインストールされているものはスキップされます。例: winget import -i myapps.json
インポート時にライセンスに自動同意
winget import -i <ファイル名.json> --accept-package-agreements
インポート処理中のパッケージライセンス同意を自動化します。
インポート時に不明なパッケージを無視
winget import -i <ファイル名.json> --ignore-unavailable
インポートファイルに含まれるパッケージが、現在のソースで見つからない場合にエラーとせず無視します。
インポート時にバージョンの不一致を無視
winget import -i <ファイル名.json> --ignore-versions
ファイルに記載されたバージョンと利用可能なバージョンが異なっていても、利用可能な最新版をインストールします。

特定のパッケージが意図せず更新またはアンインストールされないように固定します。

目的コマンド例説明
パッケージをピン留めする (更新/アンインストール防止)
winget pin add --id <パッケージID>
指定したパッケージをピン留めし、winget upgrade --allwinget uninstall コマンドから保護します。例: winget pin add --id Microsoft.PowerShell
特定のバージョンでピン留め
winget pin add --id <パッケージID> --version <バージョン>
指定したバージョンでパッケージをピン留めします。このバージョンより新しいバージョンへの upgrade をブロックします。--blocking オプションと同じ挙動です。
アップグレードをブロックするようにピン留め
winget pin add --id <パッケージID> --blocking
winget upgrade --all での自動更新を防ぎますが、明示的な winget upgrade --id <ID> は可能です。アンインストールは防ぎません。
特定バージョン範囲でピン留め (Gating Pin)
winget pin add --id <パッケージID> --version <バージョン> --gating
指定したバージョン (例: 1.2.*) までの更新は許可しますが、それ以降のメジャーバージョン (例: 2.0.0) への更新はブロックします。
ピン留めを解除する
winget pin remove --id <パッケージID>
指定したパッケージのピン留めを解除します。
ピン留めされているパッケージ一覧表示
winget pin list
現在ピン留めされているすべてのパッケージとその種類を表示します。
すべてのピン留めをリセット
winget pin reset --force
すべてのパッケージのピン留めを解除します。--force が必要です。

🔑 ハッシュ (Hash)

インストーラーファイルの SHA256 ハッシュ値を計算します。

目的コマンド例説明
ローカルファイルのハッシュ値を生成
winget hash <ファイルパス>
指定したインストーラーファイルの SHA256 ハッシュ値を計算して表示します。マニフェストファイル作成時に使用します。例: winget hash .\installer.exe
URL からダウンロードしてハッシュ値を生成
winget hash --url <ダウンロードURL>
指定した URL からファイルをダウンロードし、その SHA256 ハッシュ値を計算します。MSIX ファイルの場合は、シグネチャハッシュも計算します (–msix オプション不要)。例: winget hash --url https://example.com/installer.exe
MSIX ファイルのシグネチャハッシュを生成
winget hash <ファイルパス.msix> --msix
ローカルの MSIX ファイルを指定し、その AppxSignature.p7x ファイルのハッシュ (MsixSignatureHash) を計算します。マニフェストの SignatureSha256 フィールドに使用します。

🔽 ダウンロード (Download)

パッケージのインストーラーのみをダウンロードします。

目的コマンド例説明
インストーラーをダウンロード (ID指定)
winget download --id <パッケージID>
指定した ID のパッケージのインストーラーファイルをダウンロードします。インストールは行いません。例: winget download --id Microsoft.PowerToys
ダウンロード先ディレクトリを指定
winget download --id <パッケージID> --download-directory <パス>
インストーラーのダウンロード先フォルダを指定します。例: winget download --id Git.Git --download-directory C:\Installers
特定のバージョンをダウンロード
winget download --id <パッケージID> --version <バージョン>
指定したバージョンのインストーラーをダウンロードします。
特定のアーキテクチャのインストーラーをダウンロード
winget download --id <パッケージID> --architecture <x64|x86|arm64>
指定した CPU アーキテクチャ向けのインストーラーをダウンロードします。
特定のスコープのインストーラーをダウンロード
winget download --id <パッケージID> --scope <user|machine>
指定したインストールスコープ (ユーザーまたはマシン) 用のインストーラーをダウンロードします。

🔩 その他 (Other)

バージョン情報表示やヘルプなど、その他の補助的なコマンドです。

目的コマンド例説明
winget のバージョン表示
winget --version
インストールされている winget クライアントのバージョン番号を表示します。
ヘルプ表示
winget --help
または
winget -?
winget で利用可能なコマンドとオプションの一覧を表示します。特定のコマンドのヘルプは winget <コマンド> --help で表示できます (例: winget install --help)。
詳細情報表示
winget --info
winget のバージョン、ログファイルの場所、グループポリシーの状態など、システムと winget に関する詳細情報を表示します。
詳細ログを有効化
winget <コマンド> --verbose-logs
コマンド実行時に、より詳細なログ情報を記録します。トラブルシューティング時に役立ちます。例: winget install --id FailApp.FailApp --verbose-logs
カスタムログファイルの場所を指定
winget <コマンド> --log <ログファイルパス>
ログファイルの出力先をデフォルトの場所から変更します。--verbose-logs と併用することが多いです。例: winget upgrade --all --verbose-logs --log C:\winget_upgrade.log
プロキシ設定 (環境変数)
# PowerShell の場合
$env:HTTP_PROXY="http://<proxy_server>:<port>"
$env:HTTPS_PROXY="http://<proxy_server>:<port>"
:: コマンドプロンプトの場合
set HTTP_PROXY=http://<proxy_server>:<port>
set HTTPS_PROXY=http://<proxy_server>:<port>
winget は Windows のシステムプロキシ設定または環境変数 HTTP_PROXY / HTTPS_PROXY を使用します。必要に応じてこれらを設定します。認証が必要な場合は http://<user>:<password>@<proxy_server>:<port> の形式を使用します。

コメント

タイトルとURLをコピーしました