如何在 Windows 11 上建立 Winget 腳本以自動安裝和更新應用程式
請按照本逐步指南,學習如何在 Windows 11 上建立 winget 腳本,以便在啟動時自動安裝和更新應用程式。
在Windows 11上,您可以建立一個簡單的腳本,以便在每次系統啟動時自動下載、安裝和更新您喜愛的應用程式。在本指南中,我將向您展示如何做到這一點。
由於我經常使用虛擬機器來測試應用程式、設定和配置,所以我需要不斷重裝作業系統以確保環境乾淨。這個過程中最耗時的部分之一就是手動重裝我每天都依賴的所有重要應用程式。
為了解決這個問題,我使用了微軟的命令列應用程式管理工具-Windows 套件管理器 (winget)。它速度快、可靠性高,但我想要更省力的方案。因此,我編寫了一個自訂腳本,使其在啟動時自動運行。該腳本執行兩項任務:
本指南將概述建立和使用此腳本的步驟。無論您是開發人員、網路管理員還是希望節省時間的高級用戶,此方法都將幫助您簡化 Windows 11 上的應用程式部署和系統設定。
建立一個 Winget 腳本,用於在 Windows 11 上安裝和更新應用程式。
這是一個三步驟流程。首先,您需要建立一個列表,列出您希望安裝在電腦上的所有應用程式;然後,您需要產生腳本;最後,您需要決定如何執行該腳本。
產生應用程式列表
若要使用winget建立要安裝和更新的應用程式列表,請依照下列步驟操作:
打開開始。
搜尋“命令提示字元(或終端)”,以滑鼠右鍵按一下第一個搜尋結果,然後選擇“以管理員身份執行”選項。
輸入以下指令尋找應用程式識別號,然後按Enter 鍵:
winget 搜尋 APP-NAME

完成這些步驟後,該命令將輸出與查詢相符的應用。通常,您應該使用一個有助於尋找應用程式的關鍵字。如果名稱中包含空格,請使用引號。否則,搜索將無法進行。
另外,如果您使用引用,則表示您指示應用程式尋找完全符合的內容,因此請確保查詢語句正確無誤。 (這不是搜尋引擎。)
例如,如果我想查找“VLC”應用程式的 winget 信息,我會使用 winget search vlc 命令。
重複上述步驟,並記下每個應用程式的 ID 值,因為您需要此資訊來編寫自訂腳本。
建立winget腳本
若要建立用於安裝和更新應用程式的批次文件,請按照以下步驟操作:
打開開始。
搜尋「記事本」,然後點選第一個搜尋結果開啟該應用程式。
將以下程式碼複製並貼上到文字檔案中:
@echo off setlocal enabledelayedexpansion :: 應用程式 ID 列表set apps= Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys for %%A in (%apps%) do ( echo --------------------------------------- echo 正在處理 %% %A... 20% 是否透過清單檢查2>&1 findstr /C:"未找到已安裝的軟體包" temp_check.txt >nul if !errorlevel! equ 0 ( echo %%A 未安裝。正在安裝... winget install --id %%A --silent --accept-source-agreements --accept-creements --id %% 對 eagments。 --id %%A --silent --accept-source-agreements --accept-package-agreements if !errorlevel! neq 0 ( echo %%A 升級失敗或沒有可用更新。 ) ) echo. ) del temp_check.txt >nul 2>&1 endlocal
在「設定 apps=」部分,標註您想要在電腦上安裝和更新的應用程序,並用空格分隔每個應用程式。
簡要說明:我在此列出了三個範例,但請記得更新此部分以包含您的應用程式範例。
點選「檔案」,然後選擇「另存為」選項。
選擇檔案儲存位置。
小貼士:如果您使用 OneDrive,可以將檔案上傳到雲端,這樣您就可以從所有電腦存取該腳本。
確定腳本名稱,並使用.bat檔案副檔名。

點選“儲存”按鈕。
完成這些步驟後,您可以右鍵單擊“.bat”檔案並使用“以管理員身份執行”選項手動執行腳本,或者您可以建立觸發器來自動執行批次檔。
以下是批次腳本的詳細說明以及每個部分的工作原理:
初始設定
@echo off抑制命令回顯。setlocal enabledelayedexpansion!VAR!啟用“延遲變數擴展”,因此可以使用而不是即時存取括號內的變數%VAR%。定義應用程式列表
set apps =定義循環中要處理的 winget 應用程式 ID 清單。瀏覽每個應用程式
for %%A in (%apps%) do ()對於應用程式清單中的每個 ID ( %%A),所附命令會依序執行。檢查應用程式安裝
winget list輸出寫入到,temp_check.txt因為該命令工具沒有辦法檢查應用程式是否已安裝。findstr在該文件中搜尋短語「未找到已安裝的軟體包」。如果找到,則設定ERRORLEVEL為0,否則設定為1。!errorlevel!有助於在循環內取得正確的錯誤代碼。安裝或升級應用
errorlevel = 0),請執行winget install。winget upgrade,並在失敗時(errorlevel ≠ 0)報告升級失敗或沒有可用更新。清理並終止腳本
del刪除臨時檔案。endlocal恢復腳本運行前的環境,結束延遲擴充。設定腳本
您可以透過三種方式執行批次腳本:手動執行、將其新增至「啟動」資料夾(以便系統在您每次登入帳戶時自動執行)或使用任務排程器建立排程任務。
手動
如果要手動執行腳本,請依照下列步驟操作:
右鍵單擊“.bat”文件,然後選擇“以管理員身份執行”選項。

您也可以直接透過命令提示字元或 PowerShell 執行它。
此選項非常適合測試或偶爾使用,但每次都需要手動啟動。
新增到啟動資料夾
若要從「啟動」資料夾自動啟動腳本,請依照下列步驟操作:
打開開始。
搜尋「執行」,然後點選第一個搜尋結果開啟該應用程式。
輸入以下命令開啟資料夾,然後按Enter 鍵:
shell:啟動

將.bat檔案的捷徑複製並貼上到資料夾中。

完成這些步驟後,每次登入時腳本都會執行。
此選項設定簡單,但僅在使用者登入時執行,不會在系統啟動時運行。此外,您需要確認每個需要提升權限的應用程式的安裝。
建立計劃任務
若要建立執行 winget 腳本的排程任務,請依照下列步驟操作:
打開開始。
搜尋「任務計畫程式」 ,然後點選第一個搜尋結果開啟該應用程式。
(可選)右鍵單擊“任務計劃程序庫”資料夾,然後選擇“新資料夾”選項。
確認資料夾名稱—例如,“我的任務”。
右鍵單擊“我的任務”資料夾,然後按一下“建立任務”選項。

點選“常規”選項卡。
在「名稱」欄位中,輸入任務的描述性名稱,例如「我的應用」。

在「安全性選項」部分下,選擇「無論使用者是否登入都執行」選項。
勾選“以最高權限運行”選項。
點選“觸發器”標籤。
點選“新建”按鈕。
在「開始任務」設定下,選擇一個觸發器(例如「登入時」、「啟動時」或按計劃,如每日)。

根據需要配置日程設定。
簡要說明:為了方便起見,您可以選擇「啟動時」選項。
點選“確定”按鈕。
點選“操作”標籤。
點選“新建”按鈕。
在“操作”設定下選擇“啟動程序”選項。
在「程式/腳本」設定中,輸入以下命令:
cmd.exe

在「新增參數(可選)」設定中,輸入以下命令:
/c "C:\path\to\YOUR-SCRIPT.bat"
點選“確定”按鈕。
點選“條件”標籤。
在「電源」下,清除「如果電腦切換到電池電源則停止」和「僅當電腦使用交流電源時才啟動任務」選項。
點選“確定”按鈕。
請確認您的帳戶密碼。
點選“確定”按鈕。
完成這些步驟後,系統將依照您指定的時間表建立一個還原點。
請按照本逐步指南,學習如何在 Windows 11 上建立 winget 腳本,以便在啟動時自動安裝和更新應用程式。
Windows 11 版本 26200.5641 (KB5060824) 和 26120.4250 (KB5060820) 新增了「開始」功能表、小工具自訂和搜尋設定。
適用於 Windows 10 的 KB5058379(版本 19045.5854)現已作為 2025 年 5 月更新發布,其中包含一些修復和改進。
若要在 Windows 11 上擴充系統 C 碟,您必須刪除復原分割區,調整主分割區大小,然後重新建立復原分割區。
Windows 11 版本 27823 在“關於”設定中添加了關鍵規格的“熱門卡片”,修復了煩人的檔案總管錯誤,並為安裝程式添加了格式化 UI。
若要啟用或停用 Microsoft 365 應用程式的啟動加速功能,請開啟 Word > 選項 > 常規,然後開啟啟動加速功能。
微軟確認,Windows 11 Defender 內建了針對惡意軟體、網路釣魚和勒索軟體威脅的保護功能,足以滿足大多數使用者的需求。
透過一些經過驗證的最佳化方法,解決 Windows 11 系統記憶體佔用過高的問題,這些方法可以釋放 RAM、改善多任務處理能力並防止系統運行緩慢。
Windows 11 的全新「共享音訊」功能可讓您使用 LE Audio 技術與他人分享藍牙音訊。現已在 Copilot+ PC 上推出。
若要停用 Windows 11 開始功能表中的“建議”部分,請開啟“設定”>“個人化”>“開始”,然後關閉這些選項。