1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

RMDIR Batchfile

  • mathew11
  • 18. Juli 2012 um 15:56
  • Unerledigt
  • mathew11
    4
    mathew11
    Mitglied
    Reaktionen
    1
    Punkte
    106
    Beiträge
    16
    • 18. Juli 2012 um 15:56
    • #1

    Hallo,

    Ich bin gerade auf der Suche nach der richtigen Syntax für "removeDIR" bzw. RMDIR...

    Ich würde gerne die gleichen Unterverzeichnisse, egal von welchem Oberverzeichnis gerne löschen.

    Sprich Wenn ich habe C:\test\*\run) (Für * mehere andere Folder, die aber wiederum run haben)

    ZBsp:
    C:\test\hallo1\run)
    C:\test\hallo2\run)
    C:\test\hallo3\run)
    C:\test\hallo4\run)
    C:\test\hallo5\run)

    Nun hätte ich gerne, dass ich mit einem Befehl alle \run Verzeichnisse lösche.

    Unter Linux scheint das mit Stern wunderbar zu funktionieren, aber auf Windows nicht.

    Weiß da vielleicht jemand eine schöne/leichte Lösung?

    danke,

    lg mathew

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 18. Juli 2012 um 16:21
    • #2

    was hast du denn zur verfuegung? mit os.walk hab ichs in python in 5 zeilen hin gebracht. => wenn es nur fuer dich ist, wuerde ich vorschlagen es einfach in der sprache deiner wahl selbst zu schreiben.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Wolfibolfi
    37
    Wolfibolfi
    Mitglied
    Reaktionen
    186
    Punkte
    14.936
    Beiträge
    2.942
    • 18. Juli 2012 um 16:34
    • #3

    Unter Windows werden die Wildcards nicht von der Shell behandelt und das Ergebnis (ne Liste an Files/Directories) weitergegeben, sondern das Programm selbst ist für die Auswertung zuständig. Wenn rmdir keine Wildcards kann, dann wars das.

    In einen FBO rendern ist wie eine Schachtel Pralinen - man weiß nie, was man kriegt.

  • mathew11
    4
    mathew11
    Mitglied
    Reaktionen
    1
    Punkte
    106
    Beiträge
    16
    • 18. Juli 2012 um 19:04
    • #4

    Danke für die schnellen Antworten.

    Genauer gesagt geht's hier um benchmarks, welche ausgeführt werden. Und jeder Test erzeugt vorher seine "I/O-Dateien", mit denen er arbeitet. Da diese Files aber nach dem Test nicht mehr brauchbar sind und ziemlich groß sind, löscht man sie. Es läuft grundsätzlich ein Perl Skript, welches die benchmarks nacheinander ausführt und zum Schluss auch alles löschen kann. Mein Problem ist, dass ich eigentlich nur will, dass er die unbrauchbaren Daten löscht und nicht die bereits von C/C++ kompilierten benchmark Algorithmen. So mache ich nun alles händisch und dachte man könnte mit einer Batchfile und deren eingesetzten Wildcard, das ruckzuck löschen. Python würde ich nur ungern verwenden, da das ganze auf vielen Servern laufen soll und ich vermute - man braucht für Python wahrscheinlich auch noch was zusätzliches (habe noch nie mit Python gearbeitet, ist nur meine Vermutung :winking_face: ).

    Ich will nur ungern in die Perl Skripte eingreifen, da was umstellen, mag das am liebsten nichts herumschraubeln, deshalb dachte ich an eine einfache Batch. Aber nachdem ich mich noch bissl umgesehen habe, sollte das mit einer Batch gehen, auch wenns ein bissi komplizierter ist, ich versuchs nochmal in die Richtung :)

    Danke nochmal!

    lg

  • mathew11
    4
    mathew11
    Mitglied
    Reaktionen
    1
    Punkte
    106
    Beiträge
    16
    • 26. Juli 2012 um 16:18
    • #5

    Für alle die es vielleicht interessiert, habe das ganze dann im Endeffekt so gelöst:

    Code
    @echo off
    setlocal
    echo.
    echo This batchfile, will delete all run files. Do you want to continue
    
    
    rem ***********************
    
    
    :Beginn
    set /p delete=y/n?
    
    
    if "%delete%" == " " goto :Error
    if "%delete%" == "y" goto :Exe
    if "%delete%" == "n" goto :End
    
    
    
    
    rem ************************
    
    
    :Error
    echo. 
    echo Wrong command, try again! (Type y for Yes and n for No)
    goto SetNul
    
    
    rem *************************
    
    
    :End
    exit
    
    
    rem **************************
    
    
    :Exe
    cd SPEC\benchspec\CPU2006
    
    
    
    
    for /f "delims=" %%i in ('dir /ad /b /s "run"') do (
    rd /s /q "%%i" 
    echo %%i has been deleted)
    echo.
    echo Run directories has been cleared
    echo.
    echo Press any key, to exit the command prompt.
    pause > nul
    goto :End
    
    
    rem **************************
    
    
    :SetNul
    
    
    set delete=nul
    goto Beginn
    Alles anzeigen

    Also mit einer FOR Schleife durchgelaufen.

    lg

  • Maximilian Rupp 27. Dezember 2024 um 00:26

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung