winget教學:用指令安裝與更新軟體
winget是Windows 10與11內建的命令列套件管理員。它從開發商自己的下載網址取得安裝檔,並用SHA256雜湊值逐一驗證檔案。
確認已安裝winget
winget隨「應用程式安裝程式」一起提供,Windows 11與較新的Windows 10(1809以上版本)都已內建。開啟PowerShell或終端機,查看版本號碼即可。如果出現找不到指令的訊息,請到Microsoft Store安裝或更新「應用程式安裝程式」。
winget --version搜尋軟體
依名稱搜尋,結果會列出套件名稱、ID與最新版本。其他指令都使用ID,因為ID是唯一的,名稱則可能重複。
winget search vlcwinget show --id VideoLAN.VLC安裝軟體
用ID加上-e(完全符合)安裝。winget會從資訊清單(manifest)中的網址下載安裝檔,比對SHA256雜湊值後再執行。加上--silent可隱藏安裝畫面,加上--scope machine則為所有使用者安裝(會跳出系統管理員權限的確認視窗)。
winget install --id VideoLAN.VLC -ewinget install --id VideoLAN.VLC -e --silent --scope machine安裝舊版本
先列出winget收錄的版本,再用--version指定其中一個。只要開發商沒有撤下檔案,舊版本就能一直安裝。
winget show --id VideoLAN.VLC --versionswinget install --id VideoLAN.VLC -e --version 3.0.20更新軟體
winget upgrade會列出所有有新版本的已安裝軟體,包括不是用winget安裝的軟體。可以依ID個別更新,也可以一次全部更新。想讓某個軟體維持目前版本,可以將它釘選(pin)。
winget upgradewinget upgrade --id VideoLAN.VLC -ewinget upgrade --allwinget pin add --id VideoLAN.VLC解除安裝軟體
winget uninstall會呼叫軟體本身的解除安裝程式。需要的ID可以用winget list查看。
winget list vlcwinget uninstall --id VideoLAN.VLC -e把軟體搬到新電腦
把已安裝軟體的清單匯出成JSON檔,複製到新電腦後再匯入。winget無法辨識的軟體會被略過,並另外列出。
winget export -o apps.jsonwinget import -i apps.json --accept-package-agreements常見問題
winget安全嗎?
winget由Microsoft開發並開放原始碼。社群儲存庫中的每個套件資訊清單在收錄前都會經過審查;安裝檔的SHA256雜湊值與資訊清單不符時,winget會拒絕執行。
winget需要系統管理員權限嗎?
winget本身不需要。會寫入Program Files的安裝檔一樣會要求系統管理員權限,依使用者安裝的安裝檔則不需要。
winget從哪裡下載?
從套件資訊清單中寫明的網址下載,通常是開發商自己的伺服器或其GitHub Releases頁面。