前面に書く#
卒業してから 10 年、ほぼずっとコンピュータで文章を書いたり絵を描いたりデザインやビデオを作ったりしてきましたが、コードを打つことには常に抵抗がありました。何度もシステムを再インストールするたびに、午後中にソフトウェアを再インストールしなければならなかったり、NAS には専用のソフトウェアインストールパッケージフォルダがあったりして、私の究極の運命はコードを打つことではないでしょうか?
winget とは何ですか#
winget は、Windows ターミナルで実行される Microsoft が提供するソフトウェア管理ツールであり、Windows 10 1709 以降でのみサポートされています。主要なコマンドは winget
です。
ターミナルに winget
と入力すると、次のように表示されます:
PS C:\Users\cgart> winget
Windows パッケージ マネージャー v1.7.10582
(C) Microsoft Corporation。 All rights reserved.
WinGet コマンド ライン ユーティリティを使用して、アプリケーションとその他のパッケージをコマンド ラインからインストールできます。
使用法: winget [<command>] [<options>]
次のコマンドが有効です:
install 指定されたパッケージをインストールします
show パッケージに関連する情報を表示します
source パッケージのソースを管理します
search パッケージを検索して基本情報を表示します
list インストールされているパッケージを表示します
upgrade 利用可能なアップグレードを表示および実行します
uninstall 指定されたパッケージをアンインストールします
hash インストール プログラムのヘルパーをハッシュします
validate マニフェスト ファイルを検証します
settings 設定または管理者設定を開きます
features 実験的な機能の状態を表示します
export インストールされているパッケージのリストをエクスポートします
import ファイル内のすべてのパッケージをインストールします
pin パッケージ ピンを管理します
configure システムを必要な状態に設定します
download 指定されたパッケージからインストーラーをダウンロードします
repair 選択したパッケージを修復します
特定のコマンドの詳細については、ヘルプ引数を渡してください。 [-?]
次のオプションが使用できます:
-v,--version ツールのバージョンを表示します
--info ツールの一般情報を表示します
-?,--help 選択したコマンドのヘルプ情報を表示します
--wait ユーザーにキーを押すまで待機するように指示します
--logs,--open-logs デフォルトのログの場所を開きます
--verbose,--verbose-logs WinGet の詳細なログ記録を有効にします
--disable-interactivity インタラクティブ プロンプトを無効にします
詳細なヘルプについては、こちらを参照してください: "https://aka.ms/winget-command-help"
winget の利点#
- 無料:Windows に標準で付属しています。
- 機能がシンプルで包括的:winget は検索、ダウンロード、インストール、アップグレード、アンインストール、およびパッケージの設定など、ソフトウェア管理ツールとして必要なすべての主要な機能を備えています。
- 操作が簡単:大手のウェブサイトから個別にダウンロードしてインストールする必要はありません。コマンドラインに対応するコマンドを入力するだけで、ソフトウェアパッケージのさまざまな操作を簡単に行うことができます。進行状況バーを見ながら一連のインストールパッケージをダウンロードする必要はありません。
- 安全で信頼性が高い:winget を使用してインストールされるソフトウェアパッケージはすべて、Microsoft 公式または信頼できるソースから提供されています。これにより、非公式のソフトウェアチャネルからソフトウェアをダウンロードすることによるセキュリティリスク(マルウェア、バンドルソフトウェアなど)を回避できます。
- 学習しやすい:winget のコマンドは比較的シンプルであり、ユーザーは少しの学習で迅速にマスターすることができます。複雑なプログラミングや技術的なバックグラウンドは必要ありません。
- 高い統合度:winget は Windows Terminal、PowerShell、CMD などと統合することができ、これらの環境で直接 winget コマンドを使用することができます。
- さまざまな形式に対応:新しいバージョンの winget では、.zip 形式のソフトウェアパッケージをサポートしています。これにより、.zip ファイルからインストーラーを抽出して実行したり、ファイルから 1 つ以上のポータブルソフトウェアパッケージをインストールしたりすることができます。その結果、適用範囲がさらに広がります。
winget の欠点#
- ソフトウェアソースの制限:winget のソフトウェアソースは制限されている場合があり、インストールしたいソフトウェアパッケージが含まれていないことがあります。特に特定のソフトウェアやマイナーなソフトウェアを探しているユーザーにとって、選択肢が制限されることがあります。
- コマンドライン操作のハードル:winget はコマンドラインベースのツールであり、コマンドラインに慣れていない人にとっては学習のハードルがあるかもしれません。winget のコマンドは比較的シンプルですが、一部の人にとってはコマンドラインを使用すること自体が便利ではないかもしれません。
- 更新速度:winget の更新速度は、一部のサードパーティのパッケージ管理ツールよりも遅い場合があります。これは、新しくリリースされたソフトウェアパッケージを winget を介して最初にインストールまたは更新できない可能性があることを意味します。ただし、ソフトウェアのバージョンに関しては、最新版をインストールする必要はないという意見もあります。
- コミュニティのサポート:一部の人気のあるサードパーティのパッケージ管理ツールと比較して、winget のコミュニティのサポートは比較的弱い場合があります。これにより、問題が発生した場合に解決策を見つけたり、ヘルプを得たりするのが難しくなる可能性があります。
winget の使用方法#
私たちが winget を最もよく使用するシナリオは、一般的なソフトウェアの検索、インストール、アンインストールです。
一般的な winget コマンドは次のとおりです:
winget search <keywords>
:パッケージを検索します
winget install <appname/id>
:ソフトウェアをインストールします
winget uninstall <appname/id>
:ソフトウェアをアンインストールします
winget update
:すべてのソフトウェアの更新を確認します
winget upgrade --all
:すべてのソフトウェアを更新します
たとえば、WeChat をインストールする場合は、検索コマンド winget search WeChat
を使用して、上記の結果を取得できます。
PowerShell 7.4.1
PS C:\Users\cgart> winget search WeChat
Name Id Version Match Source
---------------------------------------------------------------------------
WeChat Tencent.WeChat 3.9.9.43 Tag: WeChat winget
PS C:\Users\cgart>
"WeChat" というキーワードを含むインストールパッケージが多数あるため、特定のインストールパッケージをインストールする場合は、そのパッケージの ID を入力する必要があります。WeChat の ID は Tencent.WeChat
ですので、コマンド winget install Tencent.WeChat
を入力してインストールできます。WeChat は自動的にインストールされ、プロセスは簡単で安全で静かです。
他のコマンドを試して、ソフトウェアの検索、インストール、更新、アンインストールを行うこともできます。
自動インストールスクリプト#
ブラウザでよく使うインストールパッケージを検索してダウンロードする必要はなくなったので、わずかな文字を入力するだけで済むようになりましたが、システムを再インストールするたびにコマンドを一行ずつ入力するのは面倒です。そこで、自分でコマンドを自動実行するインストールスクリプトを作成し、GitHub に無料でダウンロードして使用できるようにしました。こちらからダウンロードできます
スクリプト全体の構造は非常にシンプルです:
@echo off
REM ソフトウェアリストファイルが存在するかどうかをチェックします
if not exist "software_list.txt" (
echo Software list file does not exist! Please create the software list file and run the script again.
exit /b
)
REM ソフトウェアリストファイルを1行ずつ読み取り、ソフトウェアをインストールします
for /f "tokens=*" %%a in (software_list.txt) do (
echo Installing software: %%a
winget install %%a
)
echo All software is already installed!
pause
これにより、システムを再インストールするたびに、このスクリプトを実行するだけで、よく使うソフトウェアを一括でインストールできます。
すべてのリストは、この txt ドキュメント に保存されています。各行には 1 つのソフトウェア ID があります。スクリプトが実行されると、各行の ID が順番に読み取られ、インストールコマンドが実行されます。既にインストールされているソフトウェアは更新され、最新バージョンにアップグレードされます。デフォルトでは、リストには私自身がよく使うソフトウェアが含まれていますが、必要に応じてカスタマイズして追加または削除できます。
ああ、そうそう、mac 用のも作りました :)。