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-ID: 2145893037

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

Ausgedruckt am: 21.11.2024 um 17:11 Uhr

8030021182
8030021182 09.11.2023 aktualisiert um 10:07:12 Uhr
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.
IllusionFACTORY
IllusionFACTORY 09.11.2023 um 10:19:29 Uhr
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?
8030021182
8030021182 09.11.2023 aktualisiert um 10:29:58 Uhr
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  
IllusionFACTORY
IllusionFACTORY 09.11.2023 um 10:31:38 Uhr
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
8030021182
8030021182 09.11.2023 aktualisiert um 10:33:31 Uhr
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.
IllusionFACTORY
IllusionFACTORY 09.11.2023 um 10:33:59 Uhr
Goto Top
Wird mir wohl nichts anderes übrig bleiben
Danke face-smile
IllusionFACTORY
Lösung IllusionFACTORY 09.11.2023 um 10:45:53 Uhr
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')  
8030021182
Lösung 8030021182 09.11.2023 aktualisiert um 10:55:55 Uhr
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/
IllusionFACTORY
IllusionFACTORY 09.11.2023 um 12:24:24 Uhr
Goto Top

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