SmartCopy v0.3.1
Salin dan pindah berkas Windows

Lanjut setelah terputus,
verifikasi sebelum menghapus.

Ketika dialog salin Explorer terputus, ia tidak memberi tahu sampai di mana. SmartCopy mengantrekan pekerjaan agar bisa dijeda dan dilanjutkan, dan baru menghapus sumber pemindahan setelah salinan diverifikasi. Cabut USB, NAS terputus, reboot — progres tetap ada.

Tanpa instalasi · tanpa hak administrator · Windows 10 / 11 (64-bit)

Tata letak asli · data contoh
SmartCopy v0.3.1 Konsol adminLog─ □ ✕
Sumber
D:\Foto 2024
D:\Asli kamera
Tujuan
E:\Cadangan
Tindakan
SalinPindah
Verifikasi
SHA-256
Mulai
Foto 2024 → Cadangan Berjalan
12,481 / 20.004 berkas 14.2 GB / 22.8 GB 186 MB/s Sisa waktu 00:47

12.481 selesai · 0 dilewati · 0 gagal · sisa 8,6 GB

D:\Foto 2024\2024-07\IMG_4821.ARW

Jeda Batal
Arsip proyek → NAS Menunggu sambung ulang
3,902 / 6.110 berkas 41.0 GB / 64.3 GB Dijeda

Perangkat terputus — akan lanjut saat tersambung lagi (WinError 64)

Faktur → Arsip Selesai
412 / 412 berkas SHA-256 terverifikasi
Urutan pemindahan

Sumber dihapus terakhir

Memindahkan itu tiga tahap; tiap tahap menunggu yang sebelumnya.

Tahap 1

Salin

menulis ke tujuan sebagai .scpart berkas sementara. Baru setelah tertulis penuh ia memakai nama akhir, sehingga berkas yang separuh tertulis tidak pernah terlihat utuh.

Tahap 2

Verifikasi

Ukuran dan waktu ubah dibandingkan, dan SHA-256 bila diminta. Bila ada yang berbeda, salinan itu dihapus dan ditulis ulang.

Tahap 3

Hapus sumber

Hanya berkas yang lolos verifikasi yang sumbernya dihapus. Yang dilewati tetap punya sumbernya, dan folder kosong dibereskan di akhir.

Memindahkan dalam drive yang sama hanyalah mengganti nama — cepat, tanpa keadaan antara sama sekali. Tiga tahap di atas hanya untuk lintas drive.

Saat nama sudah dipakai

Enam kebijakan konflik

Tentukan di awal saat membuat tugas, atau biarkan bertanya setiap kali. Bila memilih bertanya, dialognya menyediakan Terapkan juga untuk konflik berikutnya.

KebijakanApa yang dilakukanKapan dipakai
overwriteMenimpa tujuanCadangan satu arah di mana sumber selalu paling baru
skipMelewatinya dan membiarkan sumberMengisi hanya yang kurang
renamenama (1).extsebagai berkas baruSaat keduanya harus disimpan (bawaan)
keep_newerMenyimpan yang lebih baru diubahMenggabungkan folder yang diubah di kedua sisi
keep_largerMenyimpan yang lebih besarSaat ada berkas yang tersimpan terpotong
askMenampilkan ukuran dan waktu keduanya lalu bertanyaSaat tiap kasus perlu ditimbang
Gangguan · pencabutan · listrik padam

Ia mengingat di mana berhenti

Progres tidak hanya ada di layar — ia ditulis ke disk. Jadi menutup aplikasi atau listrik padam tidak membuat Anda mengulang dari awal.

Jurnal tugas

Setiap berkas yang selesai ditambahkan sebagai satu baris. Karena hanya menambah, listrik padam paling banyak merusak baris terakhir — dan baris itu tinggal dibuang.

  • Jalankan lagi dan berkas yang selesai dilewati
  • Tugas yang selesai dengan sukses menghapus jurnalnya sendiri
  • Saat dibuka ia mencari tugas yang belum selesai dan menanyakan lanjut atau tidak

%LOCALAPPDATA%\SmartCopy\jobs\

Melanjutkan di dalam satu berkas

Untuk berkas besar, .scpartmenyimpan persis sampai di mana ia menulis. Ia baru melanjutkan setelah berkas pendamping memastikan ukuran dan waktu ubah sumber masih sama.

  • Bila sumber berubah, ia mulai dari awal alih-alih melanjutkan
  • Sisa dari tugas lain dibersihkan saat itu juga

USB dicabut · NAS terputus

Saat perangkat hilang, itu tidak dihitung gagal — tugas masuk ke Menunggu sambung ulang Saat tersambung lagi, pekerjaan lanjut dari tempat berhenti.

WinError 21 · 53 · 59 · 64 · 1167

Hanya berkas yang gagal, sekali lagi

Gangguan sementara — misalnya berkas yang dikunci program lain — dicoba ulang otomatis setelah 0,5 detik, lalu 2 detik, lalu 5 detik. Yang tetap gagal masuk daftar, dan tombol Coba ulang menjalankan hanya itu lagi — struktur folder tetap seperti semula.

Saat tak ada orang

Atur sekali, jalan sendiri

Kalau tiap kali menekan hal yang sama, itu pekerjaan program.

Folder yang diawasi

Saat berkas masuk dan sudah tenang, tugas yang Anda simpan dijalankan. Berkas yang masih ditulis tidak disentuh — menunggu perubahan berhenti.

smartcopy-cli watch "Penyerahan" --folder D:\SalinKartu

Penjadwal Tugas

Setiap hari pukul 3 pagi, atau saat masuk. Tanpa hak administrator, dan bisa dihapus dari Penjadwal Tugas Windows sendiri.

smartcopy-cli schedule --install "Cadangan mingguan" --when daily --at 03:00

Klik kanan di Explorer

Klik kanan folder dan nama tugas simpanan Anda muncul. Memilih satu mengisi jendela dengan pengaturan itu — Mulai tetap Anda yang tekan.

Sertifikat saling menjamin

Satu sertifikat mudah dibuang. Maka setiap sertifikat membawa hash pendahulunya — cabut satu di tengah, rantainya putus.

smartcopy-cli ledger --verify

Ini bukan otoritas stempel waktu. Yang dicegah adalah menyerahkan sepuluh kali lalu menunjukkan sembilan yang enak saja.

Bahkan dengan 100.000 berkas

Antrean yang mengatur urutan

Apa yang ditanganiBagaimana
Ukuran potonganDipilih dari medianya — 4 MB untuk disk tetap, 1 MB untuk USB, 256 KB untuk jaringan. Jeda dan batal menanggapi di batas potongan, jadi tidak dibesarkan sembarangan.
Tugas serentakBawaannya dua, karena beberapa tugas menghantam disk yang sama justru memperlambat semuanya.
PrioritasTiap tugas punya prioritas dan yang lebih tinggi jalan duluan. Bila sama, urutan masuk yang dipakai.
Pendataan massalscandir menelusuri pohon direktori, dan tidak mengikuti tautan simbolik maupun junction, sehingga tidak pernah terjebak perulangan penyalinan.
Jalur panjang · UnicodeDitangani dengan awalan jalur yang melewati batas 260 karakter. Nama Unicode dibiarkan apa adanya.
Pembaruan progresDigabung menjadi sekali tiap 0,2 detik — agar pada 100.000 berkas, menggambar layar tidak pernah lebih mahal daripada menyalin.
Berkas sekaligusDalam satu tugas, beberapa berkas disalin sekaligus (hingga 16). Paling terasa saat banyak berkas kecil atau lewat NAS.
Batas kecepatanBatas byte per detik. Untuk saat pencadangan berjalan sementara Anda rapat. Para pekerja berbagi satu ember yang sama.
PenyaringanPola sertakan dan kecualikan, pengecualian folder utuh, rentang ukuran dan tanggal, serta melewati berkas tersembunyi.
PratinjauMenghitung apa yang akan dipindah tanpa menulis apa pun.
Pemeriksaan sebelum mulaiRuang kosong di tujuan, apakah tujuan berada di dalam sumber, apakah itu jalur terlindungi, dan apakah sumbernya ada — semuanya diperiksa lebih dulu.

Ini lebih lambat daripada robocopy. Karena untuk setiap berkas ia mencatat info lanjutan, memverifikasi hasil salinan, dan menulis ke jurnal — tiga hal itulah alasan program ini ada. Di SSD internal kira-kira 5-15 kali lebih lambat untuk banyak berkas kecil dan sekitar 7 kali untuk satu berkas besar. Angka dan cara mengukurnya ada di repositori.

Semua tugas di satu tempat

Konsol admin

Jendela menampilkan yang sedang berjalan; konsol menampilkan keseluruhan: antrean, riwayat, pemulihan, log, pemeriksaan. smartcopy-cli admin atau tombol Konsol admin di jendela membukanya.

Yang terlihat

  • Spanduk progres — total progres, kecepatan, dan sisa waktu semua tugas
  • Kartu tugas — chip status, progres, selesai / sama / dilewati / gagal
  • Detail tugas — daftar kegagalan beserta alasannya, peringatan, kecepatan rata-rata
  • Pemulihan — melanjutkan tugas yang terputus atau membuangnya
  • Pemeriksaan integritas — membandingkan tujuan dengan manifes

Yang bisa dilakukan

  • Tugas baru — pemilih jalur, filter, opsi performa
  • Pemeriksaan awal — jalur terlindungi dan ruang kosong diberitahukan lebih dulu
  • Jeda / lanjut / batal / coba ulang yang gagal (satu atau semua)
  • Mengatur berapa tugas berjalan sekaligus

Konsol hanya terbuka di 127.0.0.1 saja dan butuh token yang dibuat baru setiap dijalankan. Domain luar yang diarahkan ke alamat ini (DNS rebinding) dihentikan oleh pemeriksaan Host , dan permintaan yang dibuat situs lain lewat peramban Anda dihentikan oleh pemeriksaan Origin .

Tanpa jendela

Mesin yang sama di baris perintah

Untuk berkas batch dan Task Scheduler, pakai smartcopy-cli.exe.

# salin folder + verifikasi dengan SHA-256 > smartcopy-cli copy "D:\Foto 2024" E:\Cadangan --verify hash [running] [################----] 83.3% 14.2 GB/22.8 GB 186 MB/s ETA 00:47 # pindah — ganti nama bila nama sudah dipakai > smartcopy-cli move C:\Arsip E:\Gudang --conflict rename # lihat tugas yang terputus lalu lanjutkan > smartcopy-cli recover > smartcopy-cli recover --resume # bandingkan salinan yang dibuat sebelumnya > smartcopy-cli verify D:\Sumber E:\Cadangan\Sumber --level hash # daftarkan menu Explorer (pengguna saat ini, tanpa hak admin) > smartcopy-cli shell --install
Unduh

Keduanya tidak perlu dipasang

Pengaturan dan log ada di bawah %LOCALAPPDATA%\SmartCopy dan tidak di tempat lain.

Antarmuka jendela

SmartCopy.exe

Seret dan lepas untuk memuat, lalu pantau progres di kartu tugas. Menu klik kanan Explorer juga memanggil berkas ini.

13.6 MB · SHA-256 2e1f9b91034f8cea14cf6d2236741b7a165b25ebaf364e1b9a7d203578892197

Unduh

Baris perintah

smartcopy-cli.exe

copy · move · recover · verify · shell. Cocok untuk skrip dan penjadwal.

13.6 MB · SHA-256 d3f8f003b8d1f2b22faf621b5b1531c73a6e456315124e609be43b9e55d53c96

Unduh

Integrasi klik kanan Explorer

Klik kanan berkas atau folder untuk Tambahkan ke SmartCopy, dan di folder tujuan, Jadikan tujuan SmartCopy. Muat dalam beberapa kali — semuanya berkumpul di satu jendela.

Hanya terdaftar di bawah HKEY_CURRENT_USER — satu shell --uninstall membatalkannya

Yang diperlukan

  • Windows 10 / 11 (64-bit)
  • Tidak perlu hak administrator
  • Bekerja dengan SMB · NAS · USB · disk lepasan
  • Python 3.9 atau lebih baru untuk menjalankan dari sumber (hanya pustaka standar)