Trước khi chuyển một tệp nào,
cho bạn xem từng tệp sẽ đi đâu
OmniSort quét thư mục Tải xuống, phân loại theo phần mở rộng, tên, ngày và kích thước, rồi ghi rõ ở từng dòng “vì sao lại là thư mục này” trong bản xem trước. Chỉ những gì bạn duyệt mới được chuyển, và tất cả đều hoàn tác được.
- Trước khi chuyển, cho xem nơi đến và lý do của từng tệp
- Chỉ chuyển những gì bạn đánh dấu, và trả lại tất cả trong một lần
- Không ghi đè — nơi đến đã có tệp thì nhân hệ điều hành từ chối luôn
- Chỉ một tệp thực thi, không cần cài đặt; mọi xử lý đều diễn ra trên máy này
| Chọn | Tệp | Vị trí mới | Lý do |
|---|---|---|---|
| hopdong_ACME_2026.pdf | Documents/Contracts | phần mở rộng .pdf · tên có “hợp đồng” | |
| ACME-invoice-0312.pdf | Documents/Invoices | phần mở rộng .pdf · tên có “hóa đơn” | |
| screenshot 2026-09-10.png | Images/Screenshots | phần mở rộng .png · tên có “ảnh chụp màn hình” | |
| doanhthu_thang9.xlsx | Spreadsheets | phần mở rộng .xlsx | |
| playlist-bounce.mp3 | Audio | phần mở rộng .mp3 | |
| ⚠ baogia_cuoi.pdf | Documents/Quotes | ghi .pdf nhưng bên trong là tệp thực thi | |
| ghichu.txt | Documents | đã có tên này → ghichu (1).txt | |
| unknown-blob.qqq | Other | phần mở rộng lạ | |
| VSCodeUserSetup-x64.exe | Installers | phần mở rộng .exe |
Phân tích → Xem trước → Dọn ngay
Ba bước giữ đúng thứ tự. Phân tích chưa xong thì không đụng vào tệp nào, và chưa được bạn đồng ý thì không chuyển.
Phân tích
Thư mục được quét ở chế độ nền. Tệp ẩn, tệp hệ thống, liên kết tượng trưng và những thư mục như node_modules đều bỏ qua. Đang chạy vẫn hủy được bất cứ lúc nào.
Xem trước
Tệp, đang ở đâu, sẽ đi đâu và vì sao — tất cả trong một bảng. Mục trùng tên được đánh dấu sẵn, và bạn dùng ô đánh dấu để chọn đúng những gì muốn chuyển.
Dọn ngay
Chỉ những mục bạn đánh dấu mới chuyển, và mọi lần chuyển đều được ghi lại. Không ưng ý? Chỉ cần nhấn [Hoàn tác] một lần là mọi thứ về chỗ cũ.
Chỉ những gì một công cụ dọn tệp cần — và làm thật chu đáo
Quy tắc của bạn luôn đứng trước
Viết quy tắc bằng ký tự đại diện, biểu thức chính quy, phần mở rộng, kích thước hay thời gian, rồi đặt mức ưu tiên. hopdong* → Documents/Contracts.
Phân loại có kèm lý do
Mỗi dòng đều ghi rõ căn cứ: “phần mở rộng .pdf → Tài liệu · tên tệp có ‘hóa đơn’ → Invoices”.
Hoàn tác
Nguồn và đích được ghi theo từng thao tác rồi trả ngược lại. Nếu chỗ cũ đã có tệp khác thì bỏ qua chứ không ghi đè.
Khi tên bị trùng
Nếu trùng tên thì lưu thành baocao (1).pdf hoặc bỏ qua. Không bao giờ ghi đè, trong bất kỳ trường hợp nào.
Quy tắc loại trừ
Những thứ không nên đụng tới thì đặt quy tắc loại ra: *.crdownload, tệp nhỏ hơn mức đặt sẵn, cả thư mục.
Dọn theo lịch
Mỗi ngày đúng giờ bạn chọn: chỉ phân tích, hoặc chuyển luôn. Một dòng schedule --install là xong cả phần đăng ký Task Scheduler.
Đường dẫn dài và không phải chữ Latinh
Đường dẫn dài quá 260 ký tự được xử lý bằng tiền tố \\?\, còn đường dẫn tiếng Hàn, Nhật, Trung thì dùng nguyên như vậy.
Phát hiện phần mở rộng giả mạo
“báo giá.pdf” mà thực ra là tệp thực thi, hoặc phần mở rộng kép kiểu hoadon.pdf.exe, đều bị gắn ⚠. Chỉ đọc 512 byte đầu với những phần mở rộng hay bị giả mạo.
Tìm tệp trùng nhau
Lọc ba bước: kích thước → mã băm 64KB ở đầu và cuối → mã băm cả tệp, rồi chỉ đưa bản sao vào Thùng rác. Bản gốc được chọn theo tên và giữ lại.
Nhật ký
Mọi lần quét và di chuyển đều nằm trong SQLite. Bảng operation_items mỗi tệp một dòng: nguồn, đích, trạng thái, lý do, lỗi.
Bộ quy tắc dùng sẵn
Thêm một lần cả bộ quy tắc cho sinh viên, nhân viên văn phòng, lập trình viên, ảnh/thiết kế. Trước khi thêm sẽ cho xem cái gì đi đâu, và quy tắc do bạn tự tạo luôn được áp dụng trước.
Tìm dung lượng
Chỉ đọc để hiển thị tệp lớn, tệp lâu không đụng tới, dung lượng theo danh mục và dung lượng ổ đĩa còn trống. Dọn thì chỉ những tệp bạn chọn, và chỉ vào Thùng rác.
Thống kê hoạt động theo tháng
Trong Bảng quản trị, bạn xem lượng đã dọn theo tháng, tỷ lệ thành công tổng thể và dung lượng đã đưa vào Thùng rác. Quy tắc có thể xuất ra JSON để dùng chung với máy khác.
Cửa sổ không bị đơ
Quét và di chuyển chạy trên luồng riêng: khoảng 5 giây để quét và phân loại 10.000 tệp. Hủy giữa chừng thì nhật ký vẫn còn.
Sáu bước, áp dụng lần lượt
Bước trên đã quyết thì bước dưới không xét nữa. Ngày và kích thước chỉ thêm một thư mục con sau khi đã xác định danh mục.
- Quy tắc của bạnhopdong* → Documents/Contracts
- Phần mở rộng.xlsx → Spreadsheets
- Mẫu tên tệp*invoice* → Documents/Invoices
- NgàyImages/2026/09
- Kích thướcVideos/Large
- Đọc nội dung (tùy chọn)chỉ 8KB đầu của tệp văn bản
| Danh mục | Phần mở rộng |
|---|---|
| Tài liệu | pdf doc docx hwp hwpx txt md rtf odt |
| Hình ảnh | jpg jpeg png webp gif bmp svg heic |
| Video | mp4 mov avi mkv webm |
| Âm thanh | mp3 wav flac m4a ogg |
| Tệp nén | zip 7z rar tar gz |
| Bảng tính | xls xlsx csv ods |
| Bản trình chiếu | ppt pptx odp |
| Tệp cài đặt | exe msi msix |
| Khác | tất cả phần còn lại (chưa phân loại) |
Xem xét gọn trong một bảng
Lọc bằng ô tìm kiếm, bấm chuột phải để mở File Explorer kiểm tra, rồi chỉ chuyển những gì đã đánh dấu.
Đã chuyển gì, lúc nào — gói trong một trang
Một nút bấm (hoặc omnisort-cli report) là toàn bộ lịch sử dọn dẹp được lưu thành một trang HTML. Không cần máy chủ, không cần mạng — cứ để đó hoặc gửi đi nguyên vậy.
| ID | Loại | Giờ | Trạng thái | Thành công/Tổng |
|---|---|---|---|---|
| #128 | Dọn dẹp | 09-11 03:00 | Xong | 412/412 |
| #127 | Hoàn tác | 09-10 21:14 | Đã hoàn tác | 37/37 |
| #126 | Dọn dẹp | 09-10 03:00 | Lỗi một phần | 298/300 |
| #125 | Thùng rác | 09-09 18:02 | Xong | 64/64 |
Không xóa. Không ghi đè.
Với công cụ dọn tệp, một lần sai là mất dữ liệu. Vì vậy chúng tôi không đưa vào bất kỳ thao tác nào không hoàn tác được.
- Không bao giờ tự xóa vĩnh viễnXóa là đưa vào Thùng rác, luôn luôn vậy. Ngay cả thư mục rỗng còn lại sau khi dọn cũng vào Thùng rác chứ không biến mất.
- Không ghi đè (nhân hệ điều hành bảo đảm)Lệnh di chuyển được gọi theo cách nhân hệ điều hành sẽ từ chối nếu ở đó đã có tệp. Kể cả khi có tệp xuất hiện giữa lúc kiểm tra và lúc chuyển, tệp của người khác vẫn an toàn.
- Kiểm tra lại ngay trước khi chuyểnSau khi xem trước mà kích thước hay thời gian sửa đã khác, hoặc tệp biến thành liên kết, thì không đụng tới.
- Thư mục hệ thống thì không đụngĐường dẫn được bảo vệ bị từ chối ngay khi thêm thư mục, và nếu gặp lúc quét thì bỏ qua.
- Cho xem hết trước khi chuyểnNguồn, nơi đến và có trùng tên hay không đều hiện rõ; chỉ những dòng đã đánh dấu mới được xử lý.
- Ghi trước, chuyển sauTừng mục được ghi vào cơ sở dữ liệu trước rồi mới chuyển. Mất điện giữa chừng thì vẫn còn ghi lại đã làm tới đâu.
- Tệp đang được ghi thì để yênTệp đang tải (.crdownload, .part) hoặc vừa mới thay đổi sẽ tự động được bỏ qua.
- Bị gián đoạn vẫn hoàn tác đượcChương trình tắt giữa lúc dọn thì lần chạy sau sẽ dò xem đã chuyển tới đâu, rồi sắp xếp lại để bạn vẫn hoàn tác được.
- Không đi theo liên kếtKhông đi xuyên liên kết tượng trưng hay junction ra ngoài, và từ chối nơi đến mà đường dẫn có chèn một liên kết như vậy.
- Không ra khỏi thư mục gốcQuy tắc không được chứa
.., đường dẫn tuyệt đối hay đường dẫn mạng; và nếu đường dẫn cuối nằm ngoài thư mục gốc thì không chuyển gì cả.
Những nơi không bao giờ được làm nơi đến
- C:\Windows
- C:\Program Files
- C:\Program Files (x86)
- C:\ProgramData
- %LOCALAPPDATA% · %APPDATA%
- C:\$Recycle.Bin
- System Volume Information
- gốc ổ đĩa (C:\)
Danh sách này không phải do nghĩ ra, mà do đã gặp phải
Một chương trình di chuyển tệp nguy hiểm không phải vì thiếu tính năng, mà vì tệp biến mất ở nơi không ai ngờ. Mọi điều dưới đây đều đã thực sự xảy ra và đã được sửa.
- Có những tệp không vào được Thùng rácTệp trên ổ mạng hoặc ổ rời, tệp lớn hơn cả Thùng rác, ổ đã tắt Thùng rác. Khi đó Windows xoá vĩnh viễn mà không hỏi. Chúng tôi kiểm tra trước, nếu không được thì để nguyên tệp và ghi lại lý do.
- Rút USB giữa chừng là mất cả hai bảnDi chuyển qua ổ khác thực chất là chép rồi xoá bản gốc. Chúng tôi đợi bản chép thực sự chạm đĩa rồi mới xoá. Chậm hơn, nhưng đúng.
- Một thư mục có thể thực ra trỏ đi nơi khácJunction, tên ngắn 8.3, chia sẻ quản trị (
\\host\C$), đường dẫn thiết bị. Bốn lối vòng về thư mục được bảo vệ — chặn từng lối một. - Cái tên vừa chọn có thể bị chiếm ngay khoảnh khắc đóNgay sau khi chọn được một tên chưa trùng, chương trình khác có thể tạo tệp với tên đó. Chúng tôi gọi lệnh sao cho chính nhân hệ điều hành từ chối — nên kể cả khi đó cũng không ghi đè tệp của ai.
- Tên tệp tiếng Hàn từ máy Mac không phải cùng một chuỗiTrên màn hình đều hiện
계약서.pdf, nhưng dạng lưu trữ khác nhau nên quy tắc lặng lẽ trượt. Chúng tôi chỉ căn chỉnh khi so sánh — tên tệp thì không đụng tới. - Nhật ký mà sửa được thì không phải nhật kýMỗi lần dọn dẹp đều được niêm phong nối tiếp lần trước. Sửa một dòng, xoá một thao tác, chèn một cái không có thật — mọi thứ phía sau lệch hết, và lộ ra ngay.
Không phải lời hứa — bản dựng bắt buộc
- Không xoá vĩnh viễn
- Không ghi đè
- Kiểm tra lại ngay trước khi di chuyển
- Từ chối đường dẫn được bảo vệ
- Ghi nhật ký trước, di chuyển sau
- Chỉ một lối ra bên ngoài
Cả sáu điều, mã vi phạm thì không thể phát hành được.
Bạn có thể tự kiểm tra. Màn hình [Quản trị] hiện số lần thực sự gửi ra khỏi máy này. Vừa cài xong thì ghi “chưa bao giờ”.
Bản dòng lệnh để gắn vào Task Scheduler
Dùng chung cơ sở dữ liệu và quy tắc với cửa sổ. Không có --apply thì tuyệt đối không tệp nào bị chuyển.
# đăng ký thư mục cần dọn omnisort-cli add "C:\Users\me\Downloads" # chỉ xem cái gì đi đâu (không di chuyển) omnisort-cli preview # thêm quy tắc: hợp đồng vào Contracts, tệp đang tải thì loại ra omnisort-cli rules add --name hopdong --glob "hopdong*" --target Documents/Contracts omnisort-cli rules add --name tamthoi --glob "*.crdownload" --exclude # dọn thật · hoàn tác · xem nhật ký omnisort-cli run --apply --yes omnisort-cli undo omnisort-cli history # tìm bản trùng · giữ bản gốc, còn lại vào Thùng rác omnisort-cli duplicates omnisort-cli duplicates --trash # xem tệp lớn, tệp cũ và dung lượng ổ đĩa (chỉ xem) omnisort-cli space --old-days 365 # xem danh sách bộ quy tắc · thêm bộ dành cho sinh viên omnisort-cli rules preset omnisort-cli rules preset student # lưu bản xem trước thành CSV (mở được bằng Excel) omnisort-cli export plan.csv # chạy lúc 03:00 mỗi ngày — một dòng là đăng ký luôn vào Task Scheduler omnisort-cli config schedule_time 03:00 omnisort-cli schedule --install omnisort-cli schedule --check
Chuyển tệp không khó — khó là khi chuyển nhầm
Kiểu công cụ canh thư mục rồi chuyển ngay theo quy tắc thì nhanh, nhưng cái gì đi đâu thì phải chuyển xong mới biết. OmniSort đảo ngược thứ tự đó.
| Tiêu chí | Dọn bằng tay | Tự chuyển ngay theo quy tắc | OmniSort |
|---|---|---|---|
| Xem nơi đến trước khi chuyển | Tự phán đoán | Chuyển xong mới biết | Nơi đến và lý do của từng tệp |
| Khi chuyển nhầm | Dựa vào trí nhớ | Tùy công cụ | Hoàn tác trọn từng thao tác, cả thao tác cũ |
| Tệp trùng tên | Dựa vào cảnh báo ghi đè | Tùy công cụ | Không ghi đè trong bất kỳ trường hợp nào |
| Tệp giả mạo phần mở rộng | Khó nhận ra | Không kiểm tra nội dung | Đọc nội dung và gắn ⚠ |
| Dọn tệp trùng và tệp lớn | Từng tệp một trong File Explorer | Cần công cụ riêng | Trong một chương trình, chỉ vào Thùng rác |
| Internet và tài khoản | Không cần | Tùy công cụ | Không cần, mặc định không gửi gì ra ngoài |
Tải về là chạy ngay
Không có trình cài đặt. Đặt một tệp thực thi vào thư mục tùy ý rồi chạy là xong.
Ba bước
- Tải
OmniSort.exetừ trang phát hành (muốn dùng dòng lệnh thì tải thêmomnisort-cli.exe) - Đặt tệp vào thư mục tùy ý rồi nhấp đúp để chạy
- Thêm thư mục Downloads bằng [+ Thêm] rồi nhấn [Phân tích]
v0.2.5 · 30.0 MB · SHA-256 5860ec06424701deb14ab387ab6917b21c1848b298494b7f24dc89e7e529953a
Cần có gì
- Hệ điều hành
- Windows 10 / 11 (64-bit)
- Cài đặt
- Không cần · cũng không cần quyền quản trị
- Internet
- Không cần · chỉ dùng các tính năng trực tuyến bạn đã bật
- Để lại trên máy
- Tệp thực thi, tệp DB lưu nhật ký và một tệp đánh dấu nhỏ trong các thư mục đã dọn
Nếu hiện cửa sổ “Windows đã bảo vệ PC của bạn”
OmniSort đã được ký mã, nhưng phiên bản mới phát hành còn ít người tải về nên SmartScreen có thể hỏi xác nhận trong một thời gian. Nhấn [Thông tin khác], kiểm tra nhà phát hành là PROJECTTEAMFORYOU rồi nhấn [Vẫn chạy]. Nếu tên nhà phát hành khác hoặc không có, đừng chạy.
Để chắc tệp tải về giống hệt tệp đã đăng, hãy mở PowerShell trong thư mục chứa tệp exe, chạy lệnh dưới đây rồi so giá trị nhận được với SHA-256 trên trang phát hành.
Get-FileHash .\OmniSort.exe -Algorithm SHA256
Nên biết trước khi bắt đầu
Tệp của tôi có bị đưa lên mạng không?
Không. Quét, phân loại, di chuyển và ghi nhật ký đều kết thúc ngay trên máy này; tên tệp hay đường dẫn không bao giờ bị gửi ra ngoài. Thiết lập và nhật ký nằm gọn trong một tệp: %LOCALAPPDATA%\OmniSort\omnisort.db.
Có hoàn toàn không dùng Internet không?
Mặc định là không dùng lần nào. Chỉ khi bạn tự bật kiểm tra phiên bản mới, thông báo hay số lượt tải trong Bảng quản trị thì mới nhận dữ liệu, và kể cả khi đó cũng không gửi thông tin tệp nào (kiểm tra phiên bản mới chỉ kèm số phiên bản). Những gì gửi ra ngoài được ghi rõ ngay trên màn hình đó, kèm cả địa chỉ.
Có miễn phí không?
Có. Dùng miễn phí, không cần tài khoản hay thanh toán. Mặc định cũng không có quảng cáo. Nếu bạn bật nhận thông báo trong Bảng quản trị và có tin mang tính quảng cáo, tin đó sẽ được ghi rõ “Quảng cáo”.
Tìm dung lượng có xóa tệp không?
Không. Tìm dung lượng chỉ đọc. Chỉ những tệp bạn tự chọn trong danh sách và xác nhận mới vào Thùng rác, và có thể khôi phục từ Thùng rác. Những tệp không vào được Thùng rác, như tệp trên ổ mạng hoặc ổ di động như USB, hay tệp lớn hơn Thùng rác, sẽ không bị đưa đi và bạn sẽ được báo.
Dọn xong mà không ưng thì sao?
Nhấn [Hoàn tác] là thao tác gần nhất được trả ngược lại từng bước. Bạn cũng có thể chọn một thao tác cũ trong nhật ký để hoàn tác. Nếu chỗ cũ đã có tệp trùng tên, riêng mục đó sẽ bị bỏ qua chứ không ghi đè — và bạn được cho biết mục nào bị bỏ qua, vì sao.
Thư mục đã dọn rồi có bị dọn lại không?
Thư mục do OmniSort tạo có dấu riêng nên lần quét sau sẽ bỏ qua. Tệp vốn đã đúng chỗ cũng không bị đưa vào danh sách cần dọn.
Nếu tệp đang bị khóa hoặc không có quyền thì sao?
Chỉ mục đó bị ghi là lỗi, phần còn lại vẫn chạy tiếp. Lý do xem được trong nhật ký, còn tệp vẫn nằm nguyên chỗ cũ.
Có phải cài đặt gì không?
Chỉ cần tải một tệp OmniSort.exe rồi chạy. Không cần quyền quản trị, không ghi gì vào registry. Muốn gỡ thì xóa tệp exe và thư mục cơ sở dữ liệu ở trên. Nếu đã bật dọn theo lịch, trước hết hãy gỡ đăng ký khỏi Task Scheduler bằng omnisort-cli schedule --uninstall.