דילוג לתוכן
  • חוקי הפורום
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
לוגו מותג
  1. דף הבית
  2. כללי - עזרה הדדית
  3. שיתוף | סקריפט קטן ופשוט למציאת קבצים כפולים בתוך תיקיה

שיתוף | סקריפט קטן ופשוט למציאת קבצים כפולים בתוך תיקיה

מתוזמן נעוץ נעול הועבר כללי - עזרה הדדית
12 פוסטים 3 כותבים 373 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • מתכנת חובבמ מנותק
    מתכנת חובבמ מנותק
    מתכנת חובב מדריכים
    כתב ב נערך לאחרונה על ידי מתכנת חובב
    #1

    אם כבר התחלתי להתעסק עם האשים אז הלכתי צעד קטן קדימה ובניתי סקריפט קטן בפייתון שעובר על כל הקבצים בתיקייה ומוצא קבצים כפולים
    ארבע הערות:
    א' הסקריפט לא בודק תתי - תיקיות
    ב' הסקריפט יראה רק אחד מהקבצים הכפולים ולא את שניהם
    ג' הסקריפט מיועד בעיקר לכאלו שרוצים ללמוד קצת פייתון - בשביל הפעולה הזאת קיימות כבר הרבה תוכנות מעולות (כולל אופציה נהדרת ב CCleaner)
    ד' הסקריפט משווה את תוכן הקבצים ולא את השמות - כך שגם קבצים עם שמות שונים אבל תוכן זהה יזוהו אבל לא קבצים עם שם זהה ותוכן שונה

    import hashlib
    import os
    
    def hashfile(file):
        os.chdir(dir_name)
        sha256 = hashlib.sha256()
        try:
            with open(file, 'rb') as f:     
                while True:
                    data = f.read(65536)
                    if not data:
                        break
                    sha256.update(data)
            return sha256.hexdigest()
        except:
            pass
    
    
    list_of_hashs = []
    duplicate_files = []
    
    dir_name = input("enter full path : ")
    dir_name = dir_name.replace('"', "")
    for file in os.listdir(dir_name):
        current_hash = hashfile(file)
        if not current_hash in list_of_hashs:
            list_of_hashs.append(current_hash)
        else:
            duplicate_files.append(file)
    
    
    print(*duplicate_files, sep='\n')
    
    NH.LOCALN ס 2 תגובות תגובה אחרונה
    4
    • NH.LOCALN מנותק
      NH.LOCALN מנותק
      NH.LOCAL מדריכים
      השיב למתכנת חובב ב נערך לאחרונה על ידי NH.LOCAL
      #2

      @מתכנת-חובב ברוך שכיוונתי / כיוונת. אני בדיוק עובד על משהו כזה דרך באט, עם שימוש באסימונים של פקודת פור (המעלה בזה שהוא מוצא גם קבצים עם שמות דומים ולאו דוקא שמות זהים)

      לאינדקס המלא של כלל הסקריפטים שלי
      https://nhlocal.github.io

      מתכנת חובבמ תגובה 1 תגובה אחרונה
      2
      • מתכנת חובבמ מנותק
        מתכנת חובבמ מנותק
        מתכנת חובב מדריכים
        השיב לNH.LOCAL ב נערך לאחרונה על ידי
        #3

        @NH-LOCAL הסקריפט שלי לא בודק שמות זהים אלא תוכן זהה

        NH.LOCALN תגובה 1 תגובה אחרונה
        0
        • NH.LOCALN מנותק
          NH.LOCALN מנותק
          NH.LOCAL מדריכים
          השיב למתכנת חובב ב נערך לאחרונה על ידי NH.LOCAL
          #4

          @מתכנת-חובב מדהים! אם ככה, זה עדיף על סי-קלינר שרק בודק גודל או שם של קובץ
          ב. מה מהירות הסריקה של זה?

          לאינדקס המלא של כלל הסקריפטים שלי
          https://nhlocal.github.io

          מתכנת חובבמ 2 תגובות תגובה אחרונה
          0
          • מתכנת חובבמ מנותק
            מתכנת חובבמ מנותק
            מתכנת חובב מדריכים
            השיב לNH.LOCAL ב נערך לאחרונה על ידי
            #5

            @NH-LOCAL סי קלינר יכול לבדוק גם תוכן

            NH.LOCALN תגובה 1 תגובה אחרונה
            1
            • NH.LOCALN מנותק
              NH.LOCALN מנותק
              NH.LOCAL מדריכים
              השיב למתכנת חובב ב נערך לאחרונה על ידי NH.LOCAL
              #6

              @מתכנת-חובב למיטב ניסיוני עם התוכנה היא לא באמת בודקת תוכן

              לאינדקס המלא של כלל הסקריפטים שלי
              https://nhlocal.github.io

              מתכנת חובבמ תגובה 1 תגובה אחרונה
              0
              • מתכנת חובבמ מנותק
                מתכנת חובבמ מנותק
                מתכנת חובב מדריכים
                השיב לNH.LOCAL ב נערך לאחרונה על ידי
                #7

                @NH-LOCAL ולמיטב ניסיוני (הדי רב) היא בודקת

                NH.LOCALN תגובה 1 תגובה אחרונה
                0
                • NH.LOCALN מנותק
                  NH.LOCALN מנותק
                  NH.LOCAL מדריכים
                  השיב למתכנת חובב ב נערך לאחרונה על ידי
                  #8

                  @מתכנת-חובב מוזר. הייתי מצפה ממנה למצוא הרבה יותר קבצים ממה שהיא מוצאת אצלי (ויש לי יסוד סביר להניח שיש במאגר שלי המון כאלו)

                  לאינדקס המלא של כלל הסקריפטים שלי
                  https://nhlocal.github.io

                  תגובה 1 תגובה אחרונה
                  0
                  • מתכנת חובבמ מנותק
                    מתכנת חובבמ מנותק
                    מתכנת חובב מדריכים
                    השיב לNH.LOCAL ב נערך לאחרונה על ידי
                    #9

                    @NH-LOCAL כתב בשיתוף | סקריפט קטן ופשוט למציאת קבצים כפולים בתוך תיקיה:

                    ב. מה מהירות הסריקה של זה?

                    לא הכי מהיר בעולם
                    בדקתי עכשיו השוואה בין 2 קבצים בגודל 1.7 ג'יגה כל אחד ולקח 8 שניות (מחשב נייח i5 דור 9 וכונן NVMe מדור שלישי בלי כרטיס מסך)

                    NH.LOCALN תגובה 1 תגובה אחרונה
                    0
                    • NH.LOCALN מנותק
                      NH.LOCALN מנותק
                      NH.LOCAL מדריכים
                      השיב למתכנת חובב ב נערך לאחרונה על ידי
                      #10

                      @מתכנת-חובב נחמד מאוד בהתחשב בגודל הקבצים, רוב הקבצים שוקלים הרבה פחות

                      לאינדקס המלא של כלל הסקריפטים שלי
                      https://nhlocal.github.io

                      תגובה 1 תגובה אחרונה
                      0
                      • ס מנותק
                        ס מנותק
                        סקרן 0
                        השיב למתכנת חובב ב נערך לאחרונה על ידי
                        #11

                        @מתכנת-חובב איך משתמשים בזה? בסביבת עבודה של פייתון? Notepad++? משהו אחר?

                        מתכנת חובבמ תגובה 1 תגובה אחרונה
                        0
                        • מתכנת חובבמ מנותק
                          מתכנת חובבמ מנותק
                          מתכנת חובב מדריכים
                          השיב לסקרן 0 ב נערך לאחרונה על ידי
                          #12

                          @סקרן-0 צריך פייתון מותקן על המחשב
                          אין קשר ל IDE (או ל notepad++)

                          תגובה 1 תגובה אחרונה
                          0

                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

                          • התחברו או הירשמו כדי לחפש.
                          • פוסט ראשון
                            פוסט אחרון
                          0
                          • חוקי הפורום
                          • לא נפתר
                          • משתמשים
                          • חיפוש גוגל בפורום
                          • צור קשר