Tự động xóa file tạm, giải phóng bộ nhớ trên Windows

Hết dung lượng ổ cứng? Dưới đây là một số cách để chúng ta kiếm lại một chút dung lượng từ việc xóa những file không cần thiết trên Windows một cách tự động.

Sử dụng Storage Sense trên Windows 10

Storage Sense xuất hiện trên Windows 10 kể từ phiên bản 1903. Đây là một chương trình hệ thống tự động xóa đi những file “không cần thiết” theo ngày / tuần / tháng hoặc khi dung lượng ổ đĩa cứng gần cạn (During low free disk space).

Ta có thể bật tắt Storage Sense trong cửa sổ Settings của Windows, tại Start > Settings > System > Storage hoặc tìm kiếm cụm từ “Storage Sense” trong Settings.

Ta cũng có thể cấu hình Storage Sense nên xóa những gì, bao gồm file “tạm” (Temporary files), thư mục DownloadsRecycle Bin.

Ngoài ra nếu bạn dùng OneDrive ở chế độ File On-Demand. Storage Sense sẽ hiển thị option để hỗ trợ xóa file không còn dùng ở local để tiết kiệm dung lượng ổ cứng, chỉ giữ file chính trên cloud.

Sử dụng công cụ Disk Cleanup

Disk Cleanup là một công cụ thuộc dạng “cổ truyền” khi đã có mặt từ phiên bản Windows 95. Phần mềm có nhiều option để xóa các file “tạm” trên máy tính của chúng ta.

Để thiết lập Disk Cleanup chạy tự động, ta cần làm 2 việc

Lựa chọn loại thông tin mà Disk Cleanup sẽ xóa

Để làm được điều này, ra sử dụng dòng lệnh bằng tham số /sageset:n với n là một số tự nhiên, tương ứng với một “kịch bản” mà Disk Cleanup sẽ chạy. Bạn có thể setup bao nhiêu kịch bản tùy thích, chỉ cần thay giá trị n thôi.

Dùng tổ hợp phím Win+R để mở cửa sổ Run, gõ lệnh

cleanmgr.exe /sageset:1
Lệnh setup kịch bản cho Disk Cleanup

Như bạn thấy, tôi chọn n bằng 1.

Lúc này cửa số cấu hình hiện ra cho ta lựa chọn loại dữ liệu cần Disk Cleanup xử lý. Bạn có thể ấn nút Cleanup system files, Disk Cleanup hiển thị cả những dữ liệu tạm của Hệ thống – nhiều trong số đó có dung lượng cực lớn như bản Windows cũ (xuất hiện sau những lần cập nhật lớn), Windows Update Installer v.v…

Lựa chọ loại dữ liệu cần xóa

Chọn tất cả nếu bạn muốn… Sau đó ấn OK để lưu lại.

Bạn có thể thử test cấu hình ở trên bằng lệnh sau bằng tham số /sagerun:n (với n là chỉ số của kịch bản xóa mà ta đã cấu hình ở trên) trên cửa sổ Run (Win+R). Ví dụ ở đây tôi chạy với kịch bản n bằng 1.

cleanmgr.exe /sagerun:1

Bạn sẽ thấy Disk Cleanup sẽ chạy và xóa dữ liệu mà không yêu cầu tương tác gì.

Cài đặt tự động chạy bằng Task Scheduler

Disk Cleanup không có khả năng tự khởi động, thay vào đó ta sẽ dùng Task Scheduler để gọi Disk Cleanup theo điều kiện kích hoạt nào đó, ví dụ như 9 giờ sáng Thứ hai hàng tuần chẳng hạn.

Mở Task Scheduler từ Start Menu hoặc bằng lệnh sau từ cửa sổ Run (Win+R):

taskschd.msc

Tạo một Basic Task bằng cách nhấn vào Create Basic Task từ khung Action ở bên phải. Một Wizard giúp cấu hình cho Task hiện ra. Đặt tên cho Task và thêm Mô tả (Description) nếu muốn, rồi click Next.

Lựa chọn điều kiện chạy, ví dụng Weekly (Hàng tuần), ấn Next.

Lựa chọn cụ thể thời điểm nào trong tuần, ví dụ 09 giờ sáng thứ Hai mỗi tuần.

Chọn loại Action là Start a program, ấn Next.

Chọn Program/script là cleanmgr.exe, tham số (arguments) là /sagerun:1 như chúng ta đã test ở trên.

Tick chọn “Open the Properties dialog for this task when I click Finish” sau đó ấn Finish.

Trong cửa sổ cấu hình chi tiết tiếp theo, trong tab General, chọn “Run with highest privileges”.

Trong tab Settings, chọn “Run task as soon as possible after a scheduled start is missed”. Click OK.

Xong! Vậy là thứ Hai hàng tuần, Disk Cleanup sẽ tự khởi động và dọn dẹp ổ cứng giúp ta. Tất nhiên với điều kiện là máy phải bật và tài khoản đang đăng nhập nhé.

Tạo batch script để xóa bất kỳ thư mục nào bạn muốn

Để chủ động xóa những gì tôi muốn mà không phụ thuộc cấu hình mặc định của Windows, tôi tự tạo một batch file.BAT để xóa nội dung các thư mục chỉ định.

Nội dung file BAT này cũng đơn giản, túm lại muốn xóa nội dung bên trong thư mục nào thì thêm đoạn mã dưới đây vào file BAT (thay folder name bằng đường dẫn tuyệt đối đến thư mục muốn xóa nội dung, nên có dấu nháy kép).

call :clean [FOLDER NAME]

:clean là một function tôi định nghĩa trong file BAT này, nhiệm vụ của nó có 3 bước: 1. Chuyển ổ đĩa, 2. Di chuyển vào folder cần xóa và 3. Dùng lệnh del của DOS để xóa nội dung bên trong.

Nội dung file Batch (cleanup.bat) ví dụ như sau:

@echo off
setlocal

:: Folders to be cleaned
call :clean "%USERPROFILE%\Downloads"
call :clean "%USERPROFILE%\Recent"
call :clean "%USERPROFILE%\AppData\local\temp"
call :clean "C:\Windows\Prefetch"
call :clean "C:\Windows\Temp"

:: End script
exit /B %ERRORLEVEL%

:: Remove all files and folders inside a specific folder
:clean
set p=%~1
%p:~0,2%
cd "%p%"
echo Cleaning %p%
for /d %%D in (*) do rd /s /q "%%D"
del /s /f /q *
exit /B 0

Tương tự như Disk Cleanup ở trên, chúng ta cần dùng Task Scheduler để gọi Batch Script này tự động.

Để gọi chạy đoạn mã này trong Task Scheduler, ta có thể dùng lệnh cmd như dưới đây. Lưu ý cấu hình Start in là đường dẫn đến thư mục chứa file BAT này.

cmd.exe /c cleanup.bat
Cấu hình Action gọi BAT script trên Task Scheduler

Nếu khó chịu với cửa sổ dòng lệnh màu đen, bạn có thể tham khảo thêm phương pháp chạy Batch file mà không hiện Command Prompt.