Menyinkronkan file menggunakan 7-Zip dan CLI

4

Pada baris perintah, 7-Zip memiliki perintah 'a' untuk "Tambahkan file ke arsip". Tapi saya ingin menyinkronkan file. Ini adalah salah satu opsi utama dalam GUI, tetapi CLI telah mengabaikannya karena beberapa alasan.

Bagaimana saya bisa melakukan ini? Sebuah contoh akan dihargai.

Dan W
sumber

Jawaban:

6

Menggunakan beberapa info yang saya temukan online , saya tahu bahwa -uq0 adalah saklar yang mungkin Anda inginkan. Berikut adalah contoh skrip pembaruan yang baru saja saya uji berdasarkan ini:

"C:\Program Files\7-Zip\7z.exe" u "C:\Users\dane\Documents\Docz.7z" -uq0 "C:\Users\dane\Documents\*" -r -x!*.7z -ssw -ms=off

Saya menguji ini dan menghapus file dari arsip setelah saya menghapus file.

Dane
sumber
Ah itu berhasil! Saya sebelumnya melihat halaman itu, tetapi di sebelah "Sinkronisasi", ia mengatakan mengatur p ke 1, q ke 0, r ke 2, x ke 1 dll. (Yaitu "-u-p1q0r2x1y2z1w2" - yang saya coba dan tidak dapat bekerja). Saya tidak yakin bagaimana Anda menafsirkan deskripsi yang tampaknya samar dengan sangat baik.
Dan W
1
Sebenarnya, Anda sudah benar, kecuali Anda memasukkan tanda hubung ekstra di "-u-p1q0r2x1y2z1w2". Jika Anda baru saja menggunakan "-up1q0r2x1y2z1w2" sebagai gantinya, Anda pasti sudah baik, saya percaya. Tanda hubung pada "-u-" tampaknya menonaktifkan pembaruan pada arsip dasar, yang akan sepenuhnya meniadakan baris contoh saya jika disertakan. Contoh saya tentang "u-uq0" identik dengan "u-up1q0r2x1y2z1w2", karena hanya "q0" yang berbeda dari apa yang biasanya "u" lakukan.
Dane
Hebat yang menjelaskan semuanya, dan masuk akal. Terima kasih banyak!
Dan W
3

Gunakan operator 'u' (perbarui)

Cuplikan yang sedikit diedit dari pekerjaan cadangan yang saya jalankan:

7z.exe u Documents.7z ".\Documents\*" -r -x!*.7z -x!*.pst -t7z -ssw -mx=3 -m3=LZMA2 -mmt=2 
BowlesCR
sumber
Cukup menggunakan 'u' tidak disinkronkan, karena file yang ada di arsip yang tidak ada di file / folder asli tidak dihapus.
Dan W