illusionfactory
Goto Top

Dropbox viele Dateien löschen

Hallo, zusammen,
ich mache ein Backup auf eine Dropbox mit HBS3. Die Dateistruktur sind jeweils Ordner mit extrem vielen Container-Dateien drin.

Jetzt wollte ich Ordner löschen, um Platz freizugeben, das geht aber nicht (Fehlermeldung: "Es sind zu viele Dateien in der Anfrage enthalten"). Dropbox Support sagt: "Ja, ist so, lösch sie halt einzeln von Hand." - "Ernsthaft? 10.000 oder so Dateien?" - "Ja, ernsthaft".

Hat jemand eine Idee?

Danke und Gruß,
Martin

Content-Key: 2145893037

Url: https://administrator.de/contentid/2145893037

Printed on: April 27, 2024 at 06:04 o'clock

Mitglied: 8030021182
8030021182 Nov 09, 2023 updated at 09:07:12 (UTC)
Goto Top
In 1000er Blöcken pro Anfrage löschen, bei 10000 files ist das mit 10x erledigt, fertig.
https://www.dropboxforum.com/t5/Delete-edit-and-organize/Delete-more-tha ...
Dropbox hat auch ne API, schreib dir n Skript wenn dir die Klickerei zu viel Handarbeit ist.
https://www.dropbox.com/developers/documentation/http/documentation#file ...

Die Dateistruktur sind jeweils Ordner mit extrem vielen Container-Dateien drin.
Und dafür Dropbox? Ernsthaft? Selbst schuld face-big-smile.

Gruß Katrin.
Member: IllusionFACTORY
IllusionFACTORY Nov 09, 2023 at 09:19:29 (UTC)
Goto Top
Zitat von @8030021182:

In 1000er Blöcken pro Anfrage löschen, bei 10000 files ist das mit 10x erledigt, fertig.

Verrätst Du mir, wie ich 1000 Dateien auf einmal auswähle?
Mitglied: 8030021182
8030021182 Nov 09, 2023 updated at 09:29:58 (UTC)
Goto Top
Zitat von @IllusionFACTORY:
Verrätst Du mir, wie ich 1000 Dateien auf einmal auswähle?
Erste Datei markieren, SHIFT halten nach unten scrollen und markieren, in der Statusleiste steht wie viel du schon markiert hast, dann weiter scrollen und SHIFT weiter gedrückt halten. Oder eben mit PS-Skript z.B. alle löschen
Get-ChildItem "D:\Ordner" -File | remove-item -Force  
Member: IllusionFACTORY
IllusionFACTORY Nov 09, 2023 at 09:31:38 (UTC)
Goto Top
Das war ein guter Tipp face-smile

Allerdings habe ich jetzt festgestellt, dass wir von 500.000 Dateien reden, ist also keine Option
Mitglied: 8030021182
8030021182 Nov 09, 2023 updated at 09:33:31 (UTC)
Goto Top
Zitat von @IllusionFACTORY:
Allerdings habe ich jetzt festgestellt, dass wir von 500.000 Dateien reden, ist also keine Option
Autsch, keinen "Stift" zur Hand face-big-smile. Dann halt Skript-Variante, siehe oben.
Member: IllusionFACTORY
IllusionFACTORY Nov 09, 2023 at 09:33:59 (UTC)
Goto Top
Wird mir wohl nichts anderes übrig bleiben
Danke face-smile
Member: IllusionFACTORY
Solution IllusionFACTORY Nov 09, 2023 at 09:45:53 (UTC)
Goto Top
Hier mein Python-Script. Erstellt in 5 Minuten. Danke ChatGPT face-smile

Voraussetzungen:
pip install dropbox
App-Berechtungen files.metadata.read, files.content.write

import dropbox

# Ersetzen Sie 'YOUR_ACCESS_TOKEN' mit Ihrem tatsächlichen Zugriffstoken 
dbx = dropbox.Dropbox('YOUR_ACCESS_TOKEN')  

def delete_files(folder_path):
    try:
        # Listet alle Dateien und Unterordner im angegebenen Verzeichnis auf
        results = dbx.files_list_folder(folder_path, recursive=True)
        
        for entry in results.entries:
            if isinstance(entry, dropbox.files.FileMetadata):
                # Löscht die Datei im angegebenen Pfad
                dbx.files_delete_v2(entry.path_lower)
                print(f"Deleted file: {entry.path_lower}")  
                
        # Überprüft, ob weitere Dateien/Ordner vorhanden sind und listet diese auf
        while results.has_more:
            results = dbx.files_list_folder_continue(results.cursor)
            
            for entry in results.entries:
                if isinstance(entry, dropbox.files.FileMetadata):
                    # Löscht die Datei im angegebenen Pfad
                    dbx.files_delete_v2(entry.path_lower)
                    print(f"Deleted file: {entry.path_lower}")  

    except dropbox.exceptions.ApiError as err:
        # Fängt alle Dropbox API-spezifischen Fehler ab
        print(f"API error: {err}")  

# Ersetzen Sie 'PATH_TO_FOLDER' mit dem Pfad des Verzeichnisses, das Sie löschen möchten 
delete_files('/Backup')  
Mitglied: 8030021182
Solution 8030021182 Nov 09, 2023 updated at 09:55:55 (UTC)
Goto Top
Für sämtliche Aktionen auf Cloud-Speichern kann ich auch rclone empfehlen da hätte es sich auch auf einen Einzeiler beschränkt und das Cloud-Speicherunabhänig.
https://rclone.org/commands/rclone_delete/
Member: IllusionFACTORY
IllusionFACTORY Nov 09, 2023 at 11:24:24 (UTC)
Goto Top

Ähm, ja. Danke für die Info face-smile