Điểm:-1

Tìm các tệp trùng lặp và chuyển đổi chúng thành liên kết [CỬA SỔ]

lá cờ gb

Người dùng của tôi có xu hướng lưu hàng tấn tệp trùng lặp, thứ ngày càng tiêu tốn nhiều dung lượng hơn và tạo ra CTNH và chi phí lưu trữ.

Tôi đang suy nghĩ để tạo một số công việc theo lịch trình, để:

  1. tìm các tệp trùng lặp (kiểm tra tổng MD5 của tệp, không chỉ tên tệp/kích thước)
  2. chỉ để lại 1 file gốc
  3. thay thế các bản sao dự phòng khác bằng liên kết (phím tắt) tới tệp (điểm trên)

Bất kỳ ý tưởng làm thế nào để lưu trữ đó?

Tập lệnh/công cụ/thủ thuật?

CHỈNH SỬA 28.10.2021

Tôi đã tìm thấy trong khi chờ đợi findDupe: https://www.sentex.ca/~mwandel/finddupe/

Nó cho phép tạo liên kết cứng tới các tệp gốc. Tôi đã thử điều này - nó hiển thị chính xác những gì được sao chép, dường như tạo ra các liên kết cứng - nhưng... rốt cuộc thì tôi không thể thấy sự khác biệt về số liệu thống kê sử dụng ổ cứng

Lý do tại sao mà? Nó có thể là Windows tính toán không gian trống không chính xác?

Điểm:1
lá cờ in

Đối với Windows, tôi là tác giả https://github.com/Caspeco/BlobBackup/tree/master/DuplicateFinder

Bạn sẽ cần studio trực quan để biên dịch mã. Lưu ý rằng với các liên kết nếu một "tệp" bị sửa đổi thì tất cả đều bị (hay đúng hơn là chỉ có một tệp). Đó có thể là hành vi không mong muốn cho người dùng.

lá cờ gb
Cảm ơn vì đã chia sẻ điều này, tôi đã biên dịch nó nhưng tôi không thể tìm thấy bất kỳ thông tin nào về thông số dòng cmd, cách thức hoạt động, v.v. Tôi đã kiểm tra nhanh thêm một thông số (thư mục để quét), nó trả về: Hoàn thành trùng lặp 4 mục được duyệt trong xxx - nhưng không có ifo nếu tìm thấy trùng lặp (có một số), cũng không có thông tin liên kết lại (cứng)
lá cờ in
Nó phù hợp về kích thước và tổng kiểm tra (chỉ kiểm tra nếu tìm thấy trùng lặp) nếu các tệp đã được liên kết, chúng sẽ bị "bỏ qua" nếu tìm thấy trùng lặp, nó sẽ in nó.
Điểm:1
lá cờ cn

Tôi đã tạo một tập lệnh nhỏ trong python để đáp ứng nhu cầu của bạn.

Nó sử dụng fdupes -r <dir> để có được tất cả các tệp trùng lặp (ngay cả với các tên khác nhau). Sau đó, nó lặp lại đầu ra và xóa các tệp trùng lặp, sau đó tạo một liên kết tượng trưng.

Tôi để bạn bỏ ghi chú hai os.system() dòng để kích hoạt các sửa đổi.

Có thể bạn sẽ muốn truyền tham số cho tập lệnh này (như đường dẫn hoặc cách khác), tôi để bạn tìm kiếm nhu cầu này :)

nhập hệ điều hành

root_dir='/home/user/thư mục'

blocks_of_dup_files = os.popen('fdupes -r ' + root_dir).read().split('\n\n')

if(blocks_of_dup_files[-1] == '') :
    blocks_of_dup_files.pop()


đối với các tệp trong blocks_of_dup_files:
    tệp = files.split('\n')
    keep_file = files.pop()
    cho tệp trong tệp:
        in('rm -f' + tập tin)
        print('ln -s ' + keep_file + ' ' + file)

        #os.system('rm -f ' + tệp)
        #os.system('ln -s ' + keep_file + ' ' + tệp)

lá cờ gb
Cảm ơn. Có vẻ như giải pháp của bạn được giải quyết cho Linux. Tôi cần một cái gì đó tương tự cho Windows (xin lỗi tôi đã quên đề cập đến điều đó trong bài đăng của mình - đã sửa)
lá cờ gb
Ok Tôi đã tìm thấy cái này có thể được cài đặt trên Windows - thông qua Choco. Sẽ thử

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.