Hướng dẫn cách tạo tập lệnh Winget để cài đặt và cập nhật ứng dụng tự động trên Windows 11

Trên Windows 11, bạn hoàn toàn có thể tạo một script đơn giản để tự động tải xuống, cài đặt và cập nhật các ứng dụng yêu thích của mình mỗi khi hệ thống khởi động. Trong hướng dẫn này, tôi sẽ chỉ cho bạn chính xác cách thực hiện điều đó.
Với tư cách là người thường xuyên làm việc với các máy ảo để kiểm tra ứng dụng, cài đặt và cấu hình, tôi liên tục phải cài đặt lại hệ điều hành để đảm bảo một môi trường sạch sẽ. Một trong những phần tốn thời gian nhất của quy trình này là việc tự tay cài đặt lại tất cả các ứng dụng thiết yếu mà tôi sử dụng hàng ngày.
Để giải quyết vấn đề này, tôi đã chuyển sang sử dụng Windows Package Manager (winget), công cụ dòng lệnh của Microsoft để quản lý ứng dụng. Nó nhanh chóng và đáng tin cậy, nhưng tôi muốn một giải pháp tự động hơn nữa. Vì vậy, tôi đã xây dựng một script tùy chỉnh chạy tự động khi khởi động. Script này thực hiện hai nhiệm vụ:
- Nếu ứng dụng chưa được cài đặt, script sẽ cài đặt nó.
- Nếu ứng dụng đã được cài đặt, nó sẽ kiểm tra các bản cập nhật và cài đặt chúng khi có sẵn.
Trong hướng dẫn này, tôi sẽ trình bày các bước để tạo và sử dụng script này. Dù bạn là nhà phát triển, quản trị viên mạng hay người dùng thành thạo đang tìm cách tiết kiệm thời gian, phương pháp này sẽ giúp bạn hợp lý hóa việc triển khai ứng dụng và thiết lập hệ thống trên Windows 11.
Xem thêm: Hướng dẫn cách bật chế độ Adaptive Energy Saver để cải thiện thời lượng pin trên Windows 11
Quá trình này bao gồm ba bước. Đầu tiên, bạn phải tạo một danh sách tất cả các ứng dụng bạn muốn có trên máy tính của mình, sau đó bạn phải tạo script, và cuối cùng là quyết định cách chạy script đó.
1. Tạo danh sách ứng dụng
Để tạo danh sách các ứng dụng cần cài đặt và cập nhật bằng winget
, hãy làm theo các bước sau:
1. Mở Start.
2. Tìm kiếm Command Prompt (hoặc Terminal), nhấp chuột phải vào kết quả hàng đầu và chọn tùy chọn Chạy với tư cách quản trị viên (Run as administrator).
3. Gõ lệnh sau để tìm Mã định danh (ID) của ứng dụng và nhấn Enter:
winget search TÊN-ỨNG-DỤNG
Sau khi hoàn thành các bước, lệnh sẽ xuất ra các ứng dụng khớp với truy vấn. Thông thường, bạn nên sử dụng một từ duy nhất giúp bạn tìm thấy ứng dụng. Nếu tên ứng dụng có khoảng trắng, hãy sử dụng “dấu ngoặc kép”. Nếu không, tìm kiếm sẽ không hoạt động.
Lưu ý: Nếu bạn dùng dấu ngoặc kép, bạn đang yêu cầu ứng dụng tìm kiếm kết quả khớp chính xác, vì vậy hãy đảm bảo truy vấn của bạn là đúng. (Đây không phải là công cụ tìm kiếm.)
Ví dụ: nếu tôi muốn tìm thông tin winget
cho ứng dụng “VLC”, tôi sử dụng lệnh winget search vlc
.
4. Lặp lại các bước này và ghi lại giá trị ID cho mỗi ứng dụng, vì bạn sẽ cần thông tin này để tạo script tùy chỉnh.
2. Tạo Script winget
Để tạo tệp Batch (.bat) nhằm cài đặt và cập nhật ứng dụng, hãy làm theo các bước sau:
1. Mở Start.
2. Tìm kiếm Notepad và nhấp vào kết quả hàng đầu để mở ứng dụng.
3. Sao chép và dán đoạn code sau vào tệp văn bản:
@echo off
setlocal enabledelayedexpansion
:: List of application IDs
set apps=Microsoft.WindowsTerminal.Preview Microsoft.Edge.Dev Microsoft.PowerToys
for %%A in (%apps%) do (
echo ---------------------------------------
echo Processing %%A...
:: Check if the app is installed by capturing the list output
winget list --id %%A > temp_check.txt 2>&1
findstr /C:"No installed package found" temp_check.txt >nul
if !errorlevel! equ 0 (
echo %%A not installed. Installing...
winget install --id %%A --silent --accept-source-agreements --accept-package-agreements
) else (
echo %%A is installed. Attempting upgrade...
winget upgrade --id %%A --silent --accept-source-agreements --accept-package-agreements
if !errorlevel! neq 0 (
echo Upgrade failed for %%A or no update available.
)
)
echo.
)
del temp_check.txt >nul 2>&1
endlocal
4. Trong phần set apps=
, hãy ghi chú các ứng dụng bạn muốn cài đặt và cập nhật trên máy tính của mình, và sử dụng một khoảng trắng để phân tách giữa mỗi ứng dụng.
Lưu ý nhanh: Tôi đã thêm ba ví dụ vào dòng này, nhưng hãy nhớ cập nhật phần này để bao gồm các ứng dụng của riêng bạn.
5. Nhấp vào Tệp (File) và chọn tùy chọn Lưu thành (Save As).
6. Chọn vị trí để lưu tệp.
Mẹo nhanh: Nếu bạn sử dụng OneDrive, bạn có thể tải tệp lên đám mây để có quyền truy cập script từ tất cả máy tính của mình.
7. Xác nhận tên cho script và sử dụng phần mở rộng tệp .bat
.
8. Nhấp vào nút Lưu (Save).
Sau khi hoàn thành các bước, bạn có thể chạy script theo cách thủ công bằng cách nhấp chuột phải vào tệp .bat
và chọn tùy chọn “Chạy với tư cách quản trị viên” (Run as administrator), hoặc bạn có thể tạo một cơ chế kích hoạt để chạy tệp Batch tự động.
Dưới đây là phần giải thích chi tiết về script Batch và cách thức hoạt động của từng phần:
Thiết lập ban đầu:
@echo off
: Ngăn chặn việc hiển thị lại các lệnh khi chúng được thực thi.setlocal enabledelayedexpansion
: Bật tính năng “mở rộng biến trì hoãn” (delayed variable expansion). Tính năng này cho phép truy cập các biến bên trong dấu ngoặc đơn()
theo thời gian thực bằng cách sử dụng!VAR!
thay vì%VAR%
.
Xác định danh sách ứng dụng:
set apps =
: Xác định danh sách các ID ứng dụngwinget
để xử lý trong vòng lặp.
Lặp qua từng ứng dụng:
for %%A in (%apps%) do ()
: Đối với mỗi ID (%%A
) trong danh sách ứng dụng, các lệnh kèm theo sẽ được chạy tuần tự.
Kiểm tra trạng thái cài đặt ứng dụng
winget list
: Ghi đầu ra vào tệptemp_check.txt
vì công cụ dòng lệnh không có cách nào trực tiếp để kiểm tra xem một ứng dụng đã được cài đặt hay chưa.findstr
: Tìm kiếm cụm từ “No installed package found” (Không tìm thấy gói đã cài đặt) trong tệp tạm thời đó. Nó sẽ đặtERRORLEVEL
bằng0
nếu tìm thấy, ngược lại là1
.!errorlevel!
: Giúp lấy mã lỗi chính xác bên trong vòng lặp.
Cài đặt hoặc nâng cấp ứng dụng
- Nếu ứng dụng chưa được cài đặt (
errorlevel = 0
), lệnhwinget install
sẽ được chạy. - Nếu ứng dụng đã được cài đặt, lệnh
winget upgrade
sẽ được chạy, và nếu thất bại (errorlevel ≠ 0
), script sẽ báo cáo rằng quá trình nâng cấp đã thất bại hoặc không có bản cập nhật nào có sẵn.
- Nếu ứng dụng chưa được cài đặt (
Dọn dẹp và kết thúc Script
del
: Xóa tệp tạm thời.endlocal
: Khôi phục môi trường trước khi chạy script, kết thúc tính năng mở rộng biến trì hoãn.
3. Thiết lập chạy Script
Bạn có ba tùy chọn để chạy tệp Batch script. Bạn có thể chạy thủ công, thêm nó vào thư mục “Khởi động” (Startup) để hệ thống tự động chạy mỗi khi bạn đăng nhập vào tài khoản, hoặc bạn có thể tạo một tác vụ theo lịch trình (scheduled task) bằng Task Scheduler.
3.1. Chạy thủ công
Nếu bạn muốn chạy script theo cách thủ công, hãy làm theo các bước sau:
1. Nhấp chuột phải vào tệp .bat
và chọn tùy chọn Chạy với tư cách quản trị viên (Run as administrator).
Bạn cũng có thể chạy trực tiếp nó thông qua Command Prompt hoặc PowerShell.
Tùy chọn này lý tưởng cho việc kiểm thử hoặc sử dụng không thường xuyên, nhưng nó đòi hỏi bạn phải tự khởi động mỗi lần.
3.2. Thêm vào thư mục khởi động (Startup)
Để tự động khởi chạy script từ thư mục “Khởi động”, hãy làm theo các bước sau:
1. Mở Start.
2. Tìm kiếm Run và nhấp vào kết quả hàng đầu để mở ứng dụng.
3. Nhập lệnh sau để mở thư mục và nhấn Enter:
shell:startup
4. Sao chép và dán một lối tắt (shortcut) của tệp .bat
vào thư mục này.
Sau khi hoàn thành các bước, script sẽ chạy mỗi khi bạn đăng nhập.
Tùy chọn này dễ thiết lập, nhưng chỉ chạy khi người dùng đăng nhập, chứ không phải khi hệ thống khởi động. Ngoài ra, bạn sẽ phải xác nhận việc cài đặt cho mỗi ứng dụng yêu cầu quyền quản trị (elevation).
3.3. Tạo tác vụ theo lịch trình (Scheduled Task)
Để tạo một tác vụ theo lịch trình để chạy script winget
, hãy làm theo các bước sau:
1. Mở Start.
2. Tìm kiếm Task Scheduler và nhấp vào kết quả hàng đầu để mở ứng dụng.
3. (Tùy chọn) Nhấp chuột phải vào thư mục “Task Scheduler Library” (Thư viện lập lịch tác vụ) và chọn tùy chọn New Folder (Thư mục mới).
4. Đặt tên cho thư mục – ví dụ: My Tasks (Tác vụ của tôi).
5. Nhấp chuột phải vào thư mục “My Tasks” và nhấp vào tùy chọn Create Task (Tạo Tác vụ).
6. Nhấp vào tab General (Chung).
7. Trong trường “Name” (Tên), nhập một tên mô tả cho tác vụ, ví dụ như “My Apps” (Ứng dụng của tôi).
8. Chọn tùy chọn “Run whether the user is logged on or not” (Chạy dù người dùng có đăng nhập hay không) trong mục “Security options” (Tùy chọn bảo mật).
9. Đánh dấu vào tùy chọn “Run with highest privileges” (Chạy với quyền cao nhất).
10. Nhấp vào tab Triggers (Cơ chế Kích hoạt).
11. Nhấp vào nút New (Mới).
12. Chọn một cơ chế kích hoạt (chẳng hạn như “At logon” (Khi đăng nhập), “At startup” (Khi khởi động), hoặc theo lịch trình như hàng ngày) trong mục “Begin the task” (Bắt đầu tác vụ).
13. Cấu hình các cài đặt lịch trình nếu cần.
Lưu ý nhanh: Để đơn giản, bạn nên chọn tùy chọn “At startup” (Khi khởi động).
14. Nhấp vào nút OK.
15. Nhấp vào tab Actions (Hành động).
16. Nhấp vào nút New (Mới).
17. Chọn tùy chọn Start a program (Khởi động một chương trình) trong mục “Actions” (Hành động).
18. Trong cài đặt “Program/script” (Chương trình/script), nhập lệnh sau:
cmd.exe
19. Trong cài đặt “Add arguments (optional)” (Thêm đối số – tùy chọn), nhập lệnh sau:
/c "C:\đường\dẫn\đến\SCRIPT-CỦA-BẠN.bat"
20. Nhấp vào nút OK.
21. Nhấp vào tab Conditions (Điều kiện).
22. Trong mục “Power” (Nguồn), bỏ chọn các tùy chọn “Stop if the computer switches to battery power” (Dừng nếu máy tính chuyển sang dùng pin) và “Start the task only if the computer is on AC power” (Chỉ bắt đầu tác vụ nếu máy tính đang cắm sạc).
23. Nhấp vào nút OK.
24. Xác nhận mật khẩu cho tài khoản của bạn.
25. Nhấp vào nút OK.
Sau khi hoàn thành các bước, script của bạn sẽ được chạy theo lịch trình đã định.
4. Kết luận
Tạo tập lệnh Winget để cài đặt và cập nhật ứng dụng tự động trên Windows 11 là một kỹ năng mạnh mẽ, giúp bạn tiết kiệm thời gian, giảm thiểu lỗi thủ công và duy trì hệ thống luôn ở trạng thái tối ưu. Với các bước hướng dẫn chi tiết, bạn có thể dễ dàng tự động hóa quy trình quản lý phần mềm, biến Windows 11 thành một trợ thủ đắc lực cho cả công việc và giải trí. Hy vọng bài viết này đã truyền cảm hứng và cung cấp cho bạn công cụ cần thiết để nâng tầm trải nghiệm sử dụng máy tính!
Xem thêm: Hướng dẫn cách cài đặt Windows 11 mà không cần Defender Antivirus
Nếu bạn cần thiết bị công nghệ mạnh mẽ để chạy Winget mượt mà hoặc muốn nâng cấp setup với các phụ kiện chất lượng cao, hãy ghé qua COHOTECH – địa chỉ uy tín cung cấp laptop, PC, linh kiện công nghệ cao cấp cùng dịch vụ hỗ trợ kỹ thuật chuyên nghiệp. Đội ngũ COHOTECH luôn sẵn sàng tư vấn, mang đến giải pháp tối ưu và những ưu đãi hấp dẫn. Theo dõi chúng tôi để khám phá thêm nhiều mẹo công nghệ hữu ích!
Bạn đã tạo tập lệnh Winget đầu tiên chưa? Hãy chia sẻ kinh nghiệm hoặc đặt câu hỏi trong phần bình luận bên dưới nhé! Nếu bài viết này hữu ích, đừng quên like, share và lan tỏa đến bạn bè để cùng tự động hóa Windows 11. Cảm ơn bạn đã đọc và hẹn gặp lại!