升級命令 (winget)
winget 工具的 upgrade 命令會升級指定的應用程式。 或者,您可以使用 list 命令來識別您想要升級的應用程式。
upgrade 命令需要您指定要升級的確切字串。 如果有任何不明確的情況,系統會提示您進一步將 upgrade 命令篩選到確切的應用程式。
別名
此命令提供下列別名:
- update
使用方式
winget upgrade [[-q] <query> ...] [<options>]
引數
下列是可用的引數。
引數 | 描述 |
---|---|
-q,--query | 用來搜尋應用程式的查詢。 |
注意
查詢引數是位置性。 不支援萬用字元樣式語法。 這通常是您預期有助於尋找要升級的字元字串。
選項。
這些選項可讓您自訂升級體驗,以符合您的需求。
選項 | 描述 |
---|---|
-m, --manifest | 後面必須接著資訊清單 (YAML) 檔案的路徑。 您可以從本機 YAML 檔案中使用資訊清單執行升級體驗。 |
--id | 將升級限制為應用程式的識別碼。 |
--name | 將搜尋限制為應用程式的名稱。 |
--moniker | 將搜尋限制為針對應用程式列出的別名。 |
-v, --version | 讓您指定要升級的確切版本。 如果未指定,則會升級目前最高版本的應用程式。 |
-s, --source | 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。 |
-e, --exact | 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。 |
-i, --interactive | 在互動模式中執行安裝程式。 預設體驗會顯示安裝程式的進度。 |
-h, --silent | 以無訊息模式執行安裝程式。 這會隱藏所有 UI。 預設體驗會顯示安裝程式的進度。 |
--purge | 刪除封裝目錄中的所有檔案和目錄 (可攜式) |
-o, --log | 將記錄導向至記錄檔。 您必須提供檔案路徑,而且您必須有該檔案的寫入權限。 |
--custom | 除了預設值之外,要傳遞至安裝程式的引數。 |
--override | 將直接傳遞至安裝程式的字串。 |
-l, --location | 要升級的位置 (如果支援的話)。 |
--scope | 選取已安裝的封裝範圍篩選 (使用者或電腦)。 |
a, --architecture | 選取要安裝的架構。 |
--installer-type | 選取要升級的安裝程式類型。 請參閱 WinGet 用戶端支援的安裝程式類型。 |
--locale | 指定要使用 BCP47 格式的地區設定。 |
--ignore-security-hash | 忽略安裝程式雜湊檢查失敗。 不建議使用。 |
--allow-reboot | 允許重新開機 (如適用)。 |
--skip-dependencies | 略過處理套件相依性與 Windows 功能。 |
--ignore-local-archive-malware-scan | 忽略從本機資訊清單安裝封存類型套件時所執行的惡意程式碼掃描。 |
--accept-package-agreements | 用於接受授權合約且避免提示。 |
--accept-source-agreements | 用於接受來源授權合約且避免提示。 |
--header | 選用性的 Windows-Package-Manager REST 來源 HTTP 標頭。 |
--authentication-mode | 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。 |
--authentication-account | 指定要用於驗證的帳戶。 |
-r, --recurse, --all | 將所有已安裝的套件升級至最新版本 (如果有的話)。 |
-u, --unknown, --include-unknown | 即使無法判斷套件目前版本,也會升級套件。 |
--pinned,--include-pinned | 即使套件有非封鎖釘選,也會升級套件。 |
--uninstall-previous | 在升級期間將舊版的套件解除安裝。 行為將取決於個別套件。 某些安裝程式是設計來並存安裝新版本。 某些安裝程式包含指定「uninstallPrevious」的資訊清單,因此無需使用此命令旗標即可解除安裝早期版本。 在此情況下,不論套件資訊清單中的內容為何,使用 winget upgrade --uninstall-previous 命令會告訴 WinGet 解除安裝舊版。 如果套件資訊清單不包含「uninstallPrevious」,且未使用 -- uninstall-previous 旗標,則將會套用安裝程式的預設行為。 |
--force | 直接執行命令,並以非安全性相關問題繼續。 |
-?,--help | 顯示所選命令的說明。 |
--wait | 提示使用者在結束之前按任何鍵。 |
--logs,--open-logs | 開啟預設記錄位置。 |
--verbose, --verbose-logs | 用於覆寫記錄設定,並建立詳細資訊記錄。 |
--nowarn,--ignore-warnings | 隱藏警告輸出。 |
--disable-interactivity | 停用互動式提示。 |
--proxy | 設定此執行所要使用的 Proxy。 |
--no-proxy | 停用此執行的 Proxy。 |
範例查詢
下列範例會升級特定版本的應用程式。
winget upgrade powertoys --version 0.15.2
下列範例會從其識別碼升級應用程式。
winget upgrade --id Microsoft.PowerToys
下列範例會顯示升級所有應用程式
winget upgrade --all
使用升級
若要識別哪些應用程式需要更新,只需使用升級而不需任何引數即可顯示所有可用的升級。
在下列範例中,您會看到 winget 升級會向使用者顯示哪些應用程式有可用的更新。 使用者會從可用的更新中,識別 JanDeDobbeleer.OhMyPosh 可用的更新,並使用 upgrade 來更新應用程式。
使用 list 和 upgrade
若要搜尋特定應用程式的可用更新,請使用 list 命令。 發現特定應用程式有可用的更新後,請使用 upgrade 來安裝最新的更新。
下列範例顯示用來識別 Microsoft.WindowsTerminalPreview 可用的 list 命令。 使用者接著會使用 upgrade 來更新應用程式。
upgrade --all
upgrade --all 會識別具有可用升級的所有應用程式。 當您執行 winget upgrade --all時,Windows 封裝管理員會尋找所有包含可用更新的應用程式,並嘗試安裝更新。
注意
某些應用程式不提供版本。 這些一律是最新的應用程式。 因為 Windows 封裝管理員無法識別是否有較新版本的應用程式,所以無法升級。
升級 -- uninstall-previous
upgrade --uninstall-previous 會在安裝較新版本的套件之前解除安裝舊版。 使用 --uninstall-previous
時,行為將取決於個別套件。 某些安裝程式是設計成並存安裝新版本,而其他安裝程式則包含指定 uninstallPrevious
為其預設升級行為的資訊清單 (因此,舊版會解除安裝,而不需要使用命令旗標)。
如果套件資訊清單不包含 uninstallPrevious
為升級行為,且 --uninstall-previous
旗標未與升級命令搭配使用,則將會套用安裝程式的預設行為。