今回はwingetコマンドを使ってPCにインストールされているソフトウェアを一括でアップグレードしてみます
手順
コマンドプロンプトまたはターミナルを実行(管理者で実行を推奨)
アップグレード可能なアプリケーションがあるかを確認
winget upgrade
ある場合は一括更新を実施
winget upgrade --all
ログは必ず確認しよう!
【理由】
失敗する可能性もあるため
Appによってはアップグレードが進まない場合もある(Discordなど)
インストール作業が完全
LINEアプリは何故かうまくいかない・・・(ここは手動でアプグレ)
ps1ファイルを作ってみた
分岐処理とか初めてだったので最終的に構築できず・・・
Copilotにちょっと修正してもらった
echo "アップグレード可能なアプリを確認します"
winget upgrade
$title = "確認"
$message = "上記アプリケーションの一括更新を実施しますか?"
$yes = New-Object System.Management.Automation.Host.ChoiceDescription "&Yes", "一括更新を実施します"
$no = New-Object System.Management.Automation.Host.ChoiceDescription "&No", "処理を中断します"
$options = [System.Management.Automation.Host.ChoiceDescription[]]($yes, $no)
$result = $host.ui.PromptForChoice($title, $message, $options, 0)
switch ($result)
{
0 { echo "一括更新を実行します"; winget upgrade --all }
1 { echo "処理を中断します" }
}
Pause
まとめ
・wingetコマンドを使えば、アプリの一括更新がとても簡単にできる
・でも更新アプリが多い場合、めちゃくちゃ時間掛かる&CPU使用率が上がるので要注意
・ps1ファイルを作成して対話型にしてみたけど、初心者にとっては難しかった(PowerShell上級者の皆さんにとってはきっと容易に出来る部分と思われ)
ご覧いただきありがとうございました!mm