はじめに
こんにちは。最近ChromeやAdobeなどのアプリがCUIで更新できると知って、「あれ? じゃあ 1つ1つアプリ開きながらバージョン確認してインストールする必要なくね?」と思いつきこの記事を書きました。
【注意】
検証を重ねてコード掲載に至っておりますが、ご利用は最新の公式情報を参照の上、自己責任でお願い申し上げます。
また、ある程度コマンドプロンプトや、PowerShellを実行経験済みの方が参考にされる事をお勧めします。
一部手順を省略している場合があり、お使いのOS環境によりましては上手く動作しない場合がございます。
【注意②】
全てのアプリが対応しているわけではありません。
winget lsit
or winget search アプリ名
を実行し以下のソース
部分がwinget
表示があればコマンドを使えます。
無表示やunnown
などは利用できません。
名前 ID バージョン 利用可能 ソース
---------------------------------------------------------------------------------------
Google Chrome Google.Chrome 124.0.6367.156 125 winget
iTunes AppleInc.iTunes_nzyj5cx40ttqa
【動作概要】
・PCを起動するごとに自動でChromeやAdobeなどのアプリをダウンロードからインストールまでやる。
【使用環境】
OS:Windows11 23H2
ソフト:BATファイル、PowerShell ※正確な表現ではないです。
コマンド:wingetコマンド、cmdコマンド、
【作業】
①メモ帳を開いて 次のコードを貼り付ける。
@echo off
pushd %~dp0
rem このバッチファイル自体を管理者実行
if not "%1"=="am_admin" (powershell start -verb runas '%0' am_admin & exit /b)
set /p answer="WindowsUpdateとWingetを実行しますか?(y/n):"
if "%answer%" == "y" (
echo 実行します。
powershell -Noprofile -ExecutionPolicy Unrestricted .\AppUpd.ps1
) else if "%answer%" == "n" (
echo かしこまりました。実行を中止します。
)
②AppUpd.bat
のファイル名をつける。
③保存先をC:\Users\***\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
に指定する。
※「***」にはお使いのユーザー名が入ります。
④エンコード:
と書かれた右側部分をクリックしてANSI
を選択し保存する。
⑤再度メモ帳を開いて以下のコードを貼り付ける。 ※お使いの環境によっては「pwsh.exe」
の場所が異なります。
Start-Process -FilePath "C:\Windows\System32\cmd.exe"-Verb runas "/c start ms-settings:windowsupdate"-Wait
Start-Process -FilePath "C:\Windows\System32\cmd.exe"-Verb runas "/c start ms-settings:windowsupdate-action"
Start-Process -FilePath "C:\Program Files\PowerShell\7\pwsh.exe" -argumentList "-noexit -command winget search --id Google.Chrome -e`
;winget upgrade --id Google.Chrome --force`
;winget upgrade --id Adobe.Acrobat.Reader.64-bit --force"
⑥AppUpd.ps1
のファイル名をつける。
⑦保存先をC:\Users\***\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
に指定する。
※「***」にはお使いのユーザー名が入ります。
⑧エンコード:
と書かれた右側部分をクリックしてANSI
を選択し保存する。
# 以上です。最後まで閲覧いただきありがとうございました。