upgrade 指令(winget)

WinGet upgrade 工具的指令會升級指定的應用程式。 你也可以選擇使用 list 指令來識別你想要的 upgrade應用程式。

upgrade 指令要求你指定精確的字串到 upgrade。 若有任何歧義,系統會提示您進一步篩選 upgrade 該指令至特定應用程式。

別名

此命令提供下列別名:

  • update

使用方式

winget upgrade [[-q] <query> ...] [<options>]

upgrade 指令引數的圖片 在 Windows 終端機 的命令列中輸入 wingetupgrade 指令的螢幕擷取畫面。

引數

下列是可用的引數。

引數 描述
-q,--query 用來搜尋應用程式的查詢語句。

注意

查詢引數是位置性。 不支援萬用字元樣式語法。 這通常是您預期用來協助尋找需升級的封包的字元字串。

選項

這些選項讓你能依需求客製化 upgrade 體驗。

選項 描述
-m, --manifest 後面必須接著資訊清單 (YAML) 檔案的路徑。 你可以使用資訊清單,從本機 YAML 檔案執行upgrade體驗。
--id 將 upgrade 限制為該應用程式的 ID。
--名稱 將搜尋限制為應用程式的名稱。
--綽號 將搜尋限制為針對應用程式列出的別名。
-v,--version 讓你能為 upgrade 指定一個確切的版本。 若未指定,最新版本將為 upgrade 最高版本的應用程式。
-s、 --source 將搜尋限制為提供的來源名稱。 後面必須加上來源名稱。
-e, --exact 在查詢中使用確切字串,包括檢查是否區分大小寫。 其不會使用子字串的預設行為。
-i,--interactive 在互動模式中執行安裝程式。 預設體驗會顯示安裝程式的進度。
-h, --silent 以無訊息模式執行安裝程式。 這會隱藏所有 UI。 預設體驗會顯示安裝程式的進度。
--清除 刪除封裝目錄中的所有檔案和目錄 (可攜式)
-o, --log 將記錄導向至記錄檔。 您必須提供檔案路徑,而且您必須有該檔案的寫入權限。
--自訂 除了預設值之外,要傳遞至安裝程式的引數。
--覆蓋 將直接傳遞至安裝程式的字串。
-l, --location 位置到 upgrade(如果支援)。
--範圍 選擇已安裝的套件範圍過濾器(使用者或機器)。
a, --architecture 選取要安裝的架構。
--installer-type (安裝程式類型) 選擇安裝器類型為 upgrade。 請參閱 WinGet 用戶端支援的安裝程式類型
--語言環境 指定要使用 BCP47 格式的地區設定。
--忽略安全哈希 忽略安裝程式雜湊檢查失敗。 不建議使用。
--allow-reboot(允許重啟) 允許重新開機 (如適用)。
--skip-dependencies(跳過相依性) 略過處理套件相依性與 Windows 功能。
--ignore-local-archive-malware-scan 忽略從本機資訊清單安裝封存類型套件時所執行的惡意程式碼掃描。
--accept-package-agreements(接受軟體合約) 用於接受授權合約且避免提示。
--接受來源協議 用於接受來源授權合約以避免提示。
--頁眉 可選的 Windows-Package-Manager REST 源 HTTP 標頭。
--authentication-mode 指定驗證視窗喜好設定 (silent、silentPreferred 或 interactive)。
--authentication-account(驗證帳戶) 指定要用於驗證的帳戶。
-r, --recurse, --all 將所有已安裝的套件升級至最新版本 (如果有的話)。
-u, --unknown, --include-unknown 即使無法確定目前的版本,仍然會升級套件。
--釘選,--包含釘選 即使套件有不阻塞的釘選,也仍會進行升級。
--解除安裝上一個版本 在 upgrade 期間解除安裝先前版本的套件。 行為將取決於個別套件。 某些安裝程式被設計用來並排安裝新版本。 某些安裝程式包含指定「uninstallPrevious」的資訊清單,因此無需使用此命令旗標即可解除安裝早期版本。 在此情況下,不論套件資訊清單中的內容為何,使用 winget upgrade --uninstall-previous 命令會告訴 WinGet 解除安裝舊版。 如果套件資訊清單不包含「uninstallPrevious」,且未使用 -- uninstall-previous 旗標,則將會套用安裝程式的預設行為。
--力 直接執行命令,然後繼續處理與安全無關的問題。
-?--幫助 顯示所選命令的說明。
--等 提示使用者在結束之前按任何鍵。
--logs,--open-logs 開啟預設記錄位置。
--verbose、--verbose-logs 用於覆寫日誌設置,並產生詳細日誌。
--nowarn(不顯示警告),--ignore-warnings(忽略警告) 隱藏警告輸出。
--禁用互動功能 停用互動式提示。
--代理 設定此執行所使用的代理。
--no-proxy 停用此執行的 Proxy。

範例查詢

以下範例列出了具有可用條件 upgrade 的應用程式。

winget upgrade

下列範例會升級特定版本的應用程式。

winget upgrade powertoys --version 0.15.2

下列範例會從其識別碼升級應用程式。

winget upgrade --id Microsoft.PowerToys

下列範例顯示升級所有應用程式。

winget upgrade --all

以下範例將涵蓋 upgrade 多個應用程式。

winget upgrade Microsoft.Edit Microsoft.NuGet

使用 upgrade

要判斷哪些應用程式需要 update,只需使用 upgrade ,無需參數即可顯示所有可用的升級。

upgrade ——全部

upgrade --all 會upgrade所有有可用update的已安裝應用程式。 當你執行 wingetupgrade --all,Windows 封裝管理員 會尋找所有有更新的應用程式並嘗試安裝更新。 先使用不帶任何引數的 upgrade,以預覽哪些應用程式將會升級。

注意

某些應用程式不提供版本。 這些一律是最新的應用程式。 由於Windows 封裝管理員無法辨識是否有更新版本的應用程式,除非指定 upgrade 選項,否則無法使用

注意

某些應用程式可能使用 WinGet 釘選,如果指定 --all 選項,這些應用程式不會升級,除非也指定 --include-pinned 選項。 在此情況下,只會升級應用程式中不是被封鎖的腳位。

upgrade --卸載-上一頁

upgrade --uninstall-prior 會在安裝新版本套件前先卸載舊版本。 使用 --uninstall-previous 時,行為將取決於個別套件。 有些安裝程式設計為將新版本與舊版本並排安裝,而另一些安裝程式則包含資訊清單,指定 uninstallPrevious 為其預設的 upgrade 行為(因此無需使用命令旗標即可解除安裝舊版)。

如果套件資訊清單未將 uninstallPrevious 納入為 upgrade 行為,且未搭配 upgrade 命令使用 --uninstall-previous 旗標,則將套用安裝程式的預設行為。