SmartCopy v0.3.1
Chép và di chuyển tệp trên Windows

Tiếp tục sau gián đoạn,
kiểm tra trước khi xoá.

Khi hộp thoại chép của Explorer bị gián đoạn, nó không cho biết đã đi tới đâu. SmartCopy xếp công việc vào hàng đợi để tạm dừng và tiếp tục, và chỉ xoá nguồn khi di chuyển sau khi bản chép đã được kiểm tra. Rút USB, mất NAS, khởi động lại — tiến độ vẫn còn.

Không cần cài đặt · không cần quyền quản trị · Windows 10 / 11 (64-bit)

Bố cục thật · dữ liệu mẫu
SmartCopy v0.3.1 Bảng quản trịNhật ký─ □ ✕
Nguồn
D:\Ảnh 2024
D:\Gốc máy ảnh
Đích
E:\SaoLuu
Thao tác
ChépDi chuyển
Kiểm tra
SHA-256
Bắt đầu
Ảnh 2024 → Sao lưu Đang chạy
12,481 / 20.004 tệp 14.2 GB / 22.8 GB 186 MB/s Thời gian còn 00:47

12.481 xong · 0 bỏ qua · 0 lỗi · còn 8,6 GB

D:\Ảnh 2024\2024-07\IMG_4821.ARW

Tạm dừng Huỷ
Lưu trữ dự án → NAS Chờ kết nối lại
3,902 / 6.110 tệp 41.0 GB / 64.3 GB Đã tạm dừng

Thiết bị đã ngắt — sẽ tiếp tục khi kết nối lại (WinError 64)

Hoá đơn → Lưu trữ Xong
412 / 412 tệp Đã xác minh SHA-256
Thứ tự khi di chuyển

Nguồn bị xoá sau cùng

Di chuyển gồm ba bước; bước sau đợi bước trước.

Bước 1

Chép

ghi vào đích dưới dạng .scpart một tệp tạm. Chỉ khi ghi xong nó mới nhận tên cuối cùng, nên tệp ghi dở không bao giờ trông như tệp hoàn chỉnh.

Bước 2

Kiểm tra

Kích thước và thời gian sửa được đối chiếu, và cả SHA-256 nếu bạn yêu cầu. Nếu lệch, bản chép đó bị xoá và ghi lại.

Bước 3

Xoá nguồn

Chỉ tệp qua được kiểm tra mới bị xoá nguồn. Tệp bị bỏ qua vẫn giữ nguồn, còn thư mục rỗng được dọn ở bước cuối.

Di chuyển trong cùng một ổ đĩa chỉ là đổi tên — nhanh và hoàn toàn không có trạng thái trung gian. Ba bước ở trên chỉ dùng khi sang ổ khác.

Khi tên đã tồn tại

Sáu quy tắc xung đột

Quyết định sẵn khi tạo tác vụ, hoặc để nó hỏi mỗi lần. Nếu chọn hỏi, hộp thoại có tuỳ chọn Áp dụng cho các xung đột sau.

Quy tắcLàm gìKhi nào dùng
overwriteGhi đè lên đíchSao lưu một chiều khi nguồn luôn mới nhất
skipBỏ qua và giữ nguyên nguồnChỉ bù phần còn thiếu
renametên (1).extthành tệp mớiKhi cần giữ cả hai (mặc định)
keep_newerGiữ bản sửa gần đây hơnGộp thư mục đã sửa ở cả hai bên
keep_largerGiữ bản lớn hơnKhi có lẫn tệp bị cắt dở
askHiện kích thước và thời gian của cả hai rồi hỏiKhi từng trường hợp cần cân nhắc
Gián đoạn · rút thiết bị · mất điện

Nó nhớ đã dừng ở đâu

Tiến độ không chỉ nằm trên màn hình — nó được ghi xuống đĩa. Nên đóng ứng dụng hay mất điện cũng không phải làm lại từ đầu.

Nhật ký tác vụ

Mỗi tệp hoàn tất được ghi thêm một dòng. Vì chỉ ghi thêm, mất điện cùng lắm hỏng dòng cuối — và dòng đó được bỏ đi.

  • Chạy lại thì tệp đã xong được bỏ qua
  • Tác vụ kết thúc thành công tự xoá nhật ký của nó
  • Khi mở lên, nó tìm các tác vụ dang dở và hỏi có tiếp tục không

%LOCALAPPDATA%\SmartCopy\jobs\

Tiếp tục ngay trong một tệp

Với tệp lớn, .scpartgiữ đúng phần đã ghi tới đâu. Nó chỉ tiếp tục sau khi tệp đi kèm xác nhận nguồn vẫn giữ nguyên kích thước và thời gian sửa.

  • Nếu nguồn đã đổi, nó bắt đầu lại thay vì tiếp tục
  • Rác từ tác vụ khác được dọn ngay tại chỗ

Rút USB · mất NAS

Khi thiết bị biến mất, đó không tính là lỗi — tác vụ chuyển sang Chờ kết nối lại Khi nó trở lại, công việc tiếp tục từ chỗ đã dừng.

WinError 21 · 53 · 59 · 64 · 1167

Chỉ làm lại những tệp bị lỗi

Sự cố tạm thời — chẳng hạn tệp bị chương trình khác khoá — được tự thử lại sau 0,5 giây, rồi 2 giây, rồi 5 giây. Thứ vẫn lỗi sẽ nằm trong danh sách, và nút Thử lại chạy lại đúng những tệp đó — giữ nguyên cấu trúc thư mục.

Khi không có ai

Cài một lần, nó tự chạy

Nếu lần nào cũng bấm y hệt, đó là việc của chương trình.

Thư mục theo dõi

Khi tệp vào thư mục và lặng đi, tác vụ bạn đã lưu sẽ chạy. Không đụng vào tệp đang được ghi — chờ đến khi thay đổi dừng lại.

smartcopy-cli watch "BanGiao" --folder D:\ChepThe

Task Scheduler

Mỗi ngày lúc 3 giờ sáng, hoặc khi đăng nhập. Không cần quyền quản trị, và có thể xoá ngay trong Task Scheduler của Windows.

smartcopy-cli schedule --install "Sao luu hang tuan" --when daily --at 03:00

Chuột phải trong Explorer

Chuột phải vào thư mục, tên các tác vụ đã lưu hiện ra. Chọn một cái sẽ điền cửa sổ theo thiết lập đó — bạn vẫn là người bấm Bắt đầu.

Các chứng nhận làm chứng cho nhau

Một tờ chứng nhận rất dễ bị vứt. Nên mỗi tờ mang mã băm của tờ trước — rút một tờ ở giữa là chuỗi đứt.

smartcopy-cli ledger --verify

Đây không phải cơ quan cấp dấu thời gian. Nó chặn việc bàn giao mười lần mà chỉ trưng ra chín lần vừa ý.

Dù có 100.000 tệp

Hàng đợi giữ thứ tự

Xử lý cái gìCách
Kích thước khốiChọn theo phương tiện — 4 MB cho đĩa cố định, 1 MB cho USB, 256 KB cho mạng. Tạm dừng và huỷ đáp ứng ở ranh giới khối, nên không phóng to vô cớ.
Tác vụ đồng thờiMặc định hai, vì nhiều tác vụ cùng nện vào một ổ đĩa sẽ làm mọi thứ chậm đi.
Độ ưu tiênMỗi tác vụ mang một độ ưu tiên, cao hơn đi trước. Bằng nhau thì theo thứ tự đã thêm.
Liệt kê hàng loạtscandir duyệt cây thư mục, và không đi theo liên kết tượng trưng hay junction, nên không bao giờ rơi vào vòng lặp sao chép.
Đường dẫn dài · UnicodeĐược xử lý bằng tiền tố đường dẫn vượt giới hạn 260 ký tự. Tên Unicode giữ nguyên.
Cập nhật tiến độGộp lại mỗi 0,2 giây một lần — để với 100.000 tệp, việc vẽ màn hình không bao giờ tốn hơn việc chép.
Tệp cùng lúcTrong một tác vụ, nhiều tệp được chép cùng lúc (tối đa 16). Lợi nhất khi có nhiều tệp nhỏ hoặc qua NAS.
Giới hạn tốc độMức trần theo byte mỗi giây. Dành cho lúc sao lưu chạy trong khi bạn họp. Các luồng dùng chung một thùng.
LọcMẫu gồm và loại trừ, loại cả thư mục, khoảng kích thước và ngày tháng, và bỏ qua tệp ẩn.
Xem trướcTính xem sẽ chuyển những gì mà không ghi bất cứ thứ gì.
Kiểm tra trước khi chạyDung lượng trống ở đích, đích có nằm trong nguồn không, có phải đường dẫn được bảo vệ không, và nguồn có tồn tại không — tất cả được kiểm tra trước.

Chậm hơn robocopy. Vì với mỗi tệp nó ghi lại thông tin để tiếp tục, kiểm chứng phần đã chép, và ghi vào nhật ký — ba điều đó chính là lý do chương trình này tồn tại. Trên SSD gắn trong, chậm khoảng 5-15 lần với nhiều tệp nhỏ và khoảng 7 lần với một tệp lớn. Số liệu và cách đo đều nằm trong kho mã.

Mọi tác vụ ở một nơi

Bảng quản trị

Cửa sổ cho thấy thứ đang chạy; bảng quản trị cho thấy toàn cảnh: hàng đợi, lịch sử, phục hồi, nhật ký, kiểm tra. smartcopy-cli admin hoặc nút Bảng quản trị trong cửa sổ sẽ mở nó.

Những gì bạn thấy

  • Thanh tiến độ — tổng tiến độ, tốc độ và thời gian còn lại của các tác vụ
  • Thẻ tác vụ — chip trạng thái, tiến độ, xong / giống hệt / bỏ qua / lỗi
  • Chi tiết tác vụ — danh sách lỗi kèm lý do, cảnh báo, tốc độ trung bình
  • Phục hồi — tiếp tục tác vụ bị gián đoạn hoặc bỏ đi
  • Kiểm tra toàn vẹn — đối chiếu đích với manifest

Những gì bạn làm được

  • Tác vụ mới — cửa sổ chọn đường dẫn, bộ lọc, tuỳ chọn hiệu năng
  • Kiểm tra trước — báo trước đường dẫn được bảo vệ và dung lượng trống
  • Tạm dừng / tiếp tục / huỷ / thử lại phần lỗi (một hoặc tất cả)
  • Điều chỉnh số tác vụ chạy cùng lúc

Bảng điều khiển chỉ mở trên riêng 127.0.0.1 và cần một token được tạo mới mỗi lần chạy. Tên miền bên ngoài trỏ vào địa chỉ này (DNS rebinding) bị chặn bởi kiểm tra Host , còn yêu cầu mà trang khác khiến trình duyệt của bạn gửi đi bị chặn bởi kiểm tra Origin .

Không cần cửa sổ

Cùng một bộ máy trên dòng lệnh

Với tệp batch và Task Scheduler, hãy dùng smartcopy-cli.exe.

# chép thư mục + kiểm tra bằng SHA-256 > smartcopy-cli copy "D:\Ảnh 2024" E:\SaoLuu --verify hash [running] [################----] 83.3% 14.2 GB/22.8 GB 186 MB/s ETA 00:47 # di chuyển — đổi tên nếu tên đã có > smartcopy-cli move C:\LuuTru E:\Kho --conflict rename # xem tác vụ bị gián đoạn rồi tiếp tục > smartcopy-cli recover > smartcopy-cli recover --resume # đối chiếu bản chép đã tạo trước đó > smartcopy-cli verify D:\Nguon E:\SaoLuu\Nguon --level hash # đăng ký menu Explorer (người dùng hiện tại, không cần quyền quản trị) > smartcopy-cli shell --install
Tải về

Cả hai đều không cần cài đặt

Cài đặt và nhật ký nằm trong %LOCALAPPDATA%\SmartCopy chứ không nơi nào khác.

Giao diện cửa sổ

SmartCopy.exe

Kéo thả để nạp, và theo dõi tiến độ trên các thẻ tác vụ. Menu chuột phải của Explorer cũng gọi tệp này.

13.6 MB · SHA-256 2e1f9b91034f8cea14cf6d2236741b7a165b25ebaf364e1b9a7d203578892197

Tải về

Dòng lệnh

smartcopy-cli.exe

copy · move · recover · verify · shell. Hợp với kịch bản và bộ lập lịch.

13.6 MB · SHA-256 d3f8f003b8d1f2b22faf621b5b1531c73a6e456315124e609be43b9e55d53c96

Tải về

Tích hợp chuột phải Explorer

Nhấp chuột phải vào tệp hoặc thư mục để Thêm vào SmartCopy, còn ở thư mục muốn chuyển tới, Đặt làm đích SmartCopy. Nạp làm nhiều lần — tất cả gom về một cửa sổ.

Chỉ đăng ký dưới HKEY_CURRENT_USER — một lệnh shell --uninstall là gỡ xong

Bạn cần gì

  • Windows 10 / 11 (64-bit)
  • Không cần quyền quản trị
  • Hoạt động với SMB · NAS · USB · đĩa rời
  • Python 3.9 trở lên để chạy từ mã nguồn (chỉ thư viện chuẩn)