[Batch/Bash] *.txt aus *zip löschen

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von sirblacksoul, 27. November 2009 .

Schlagworte:
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 27. November 2009
    *.txt aus *zip löschen

    Hey ich habe folgendes Problem. Ich habe ein verzeichnis in dem viele unterverzeichnisse sind, diese können evtl auch unterverzeichnisse haben. Nun sind in den endverzeichnissen mehrere zip dateien. In diesen Zip dateien sind verschiedene .jpg dateien, diese sollen aber unberührt bleiben. aber aufgrund eines Programmes, wurden in jedes dieser verzeichnisse eine txt datei hinzugefügt immer mit dem gleichen namen. nun möchte ich alle dateien mit der endung löschen. kann mir jemand sagen wie ich das hinbekomme?
     

  2. Anzeige
    Heute: Deals & Sale mit stark reduzierten Angeboten finden.
  3. #2 27. November 2009
    AW: *.txt aus *zip löschen

    Sind die .txt dateien in dem Verzeichnis mit der *.zip oder sind die .txt dateien in den zip's selbst drinne?

    Was fürn Betriebssystem?
     
  4. #3 27. November 2009
    AW: *.txt aus *zip löschen

    IN der zip, windows server 2003 (die suchfunktion zeit die einzelnen datein zwar an, aber sobald ich verscheidene datein aus verschiedenen zips auf einmal lösche stürzt der exploerer ab =/ von daher bräuchte ich das script
     
  5. #4 28. November 2009
    AW: *.txt aus *zip löschen

    Die Suchfunktion von Windows durchsucht auch .zips? Cool, wusste ich noch nicht^^

    @Topic: Leider kann ich dir bei Windows nicht wirklich viel helfen, da ich mich nur mit Bash auskenne, was das scripting angeht, und nicht denke, dass es Sinn macht, da in ner Höheren Programmiersprache was zu bauen.
    In Bash hätt ich das ganze per rekursiver Funktion gelöst, die immer für alle unterordner so weit aufgerufen wird, bis keine Unterordner mehr vorhanden sind, die jeweils die .zips entpackt, die .txt löscht und mit den restlichen files wieder ne neue .zip erstellt.

    Vielleicht kann dir wer mithilfe des Ansatzes ja was in Batch oder Python oder so scripten. Ansonsten könnte man das Ganze sicherlich auch mit Cygwin als Bash-Script unter Windows zum laufen kriegen, nur kp ob du des installen willst
     
  6. #5 28. November 2009
    AW: *.txt aus *zip löschen

    Ja, es geht, allerdings brauchst du dazu Zusatztools, mit windowseigenen Mitteln geht das nicht.

    Wenn du dir Winrar installierst, ist ein CommandLine Tool dabei.

    Für dein Problem könnte man dann zum Beispiel diese schnell zusammengenagelte Lösung hier nehmen:

    Code:
    
    @ECHO OFF
    CD Verzeichnis_mit_den_Unterordnern
    DIR /b /s > c:\dump.txt
    
    FOR /F "tokens=1-2 delims=." %%i in (c:\dump.txt) DO if "%%j" == "zip" "C:\Program Files\WinRAR\rar.exe" d %%i.%%j textdatei_die_weg_soll.txt
    pause
    
    Mit der rar.exe und d als Parameter kann man Dateien aus gepackten Dateien löschen. "%%i.%%j" ist der String des Dateinames (wurde erst auseinandergepflückt und dann wieder zusammengepappt, da gibt es sicherlich auch bessere Lösungen)

    Vorraussetzung ist, dass du diese rar.exe hast. Je nachdem wo die liegt musst du den Pfad "C:\Program Files\WinRAR\rar.exe" ändern.

    Bei
    Code:
     DO if "%%j" == "zip" 
    kannst du das "zip" auch in "rar" oder "gz" oder so umändern um andere Archive anzusprechen.

    Ganz am Ende die "textdatei_die_weg_soll.txt" ist der Name, von der Datei, die aus den Archiven gelöscht werden soll
     

  7. Videos zum Thema
Die Seite wird geladen...