Alle Ordner löschen, die ein $-Zeichen enthalten

Es gibt 12 Antworten in diesem Thema, welches 10.755 mal aufgerufen wurde. Der letzte Beitrag (27. März 2010 um 14:38) ist von matthias89.

  • Hallo,

    bin neu im Forum und weiß leider nicht, ob diese Kategorie zu meinem Problem passt.
    Ich will z.B. mit einer Batch-Datei alle Ordner löschen, die ein $-Zeichen enthalten.
    Szenario: Auf dem Desktop ist ein Ordner mit dem Namen VieleOrdner.
    Ich möchte nun alle Ordner, die ein $-Zeichen enthalten löschen. Wie sieht die Batch-Datei dafür aus? Kann "Batch" ganz gut habe aber Probleme mit dem "for"-Befehl.
    Vielen Dank im Vorraus.


    Liebe Grüße
    matthias89

  • Hi,

    in der bash würd ich es so machen:
    find . -type d -name "*\$*" -exec rmdir {} +

    Der Befehl löscht alle Ordner und Unterordner aus dem aktuellen Verzeichner heraus, welche ein $ im Namen haben.

    Gruss
    Bogo

    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.
    Bitte melde dich an, um diesen Link zu sehen.

  • Zitat

    Zitat von Bogogil:
    in der bash würd ich es so machen:
    find . -type d -name "*\$*" -exec rmdir {} +

    Hallo,

    ich glaube ich bin im falschen Forum. Ich meinte Batch-Programmierung. Also DOS unter Windows.

  • also del oder deltree *$*.* sollte es evtl. tun
    probier das aber bitte erst vorher aus mit kombinationen $xxxxx, xx$xxxx, xxxxxx$ usw.

  • Mit del kann man nur Dateien löschen und deltree gibt es bei mir nicht.

  • Nutzt du ein Command.com vom puren DOS/Windows 9x/ME oder eine CMD.EXE aus Windows NT/2000/XP/Vista/7 oder ähnliches?

    Letzteres kann mit del auf Direktories und Verzeichnisse löschen, da ich gerade kein Windows zu hand habe, schaue doch mal mit del /? nach was so geht?

    Nutzt du pures DOS muesstest du unter Freedos/Opendos/NW-DOS/MS-DOS in neueren Versionen aufjedenfall ein deltree haben..

  • Ich benutze Windows XP Pro und benutze cmd.exe
    Ich möchte eine Batch-Datei mit der Endung *.bat erstellen. Alle Ordner, die ein $-Zeichen enthalten, sollen gelöscht werden.

  • Ich benutze Windows XP Pro und benutze cmd.exe
    Ich möchte eine Batch-Datei mit der Endung *.bat erstellen. Alle Ordner, die ein $-Zeichen enthalten, sollen gelöscht werden.


    Ich auch.

    del /? gibt bei mir folgendes u.a. aus:

    Also sollte mein del in jedem falle funzen... ggf. den schalter /s benutzen. Ansonsten wie in meinem vorherigen Post geschrieben. Evtl. auch nur *$* statt *$*.*.
    Das ganze braucht keine .bat datei. Wenn doch dann füg den Befehl einfach in eine .bat ein.

    Habe grade gesehen, es geht um Verzeichnisse. Vielleicht geht auch:

    Das meinte ich mit deltree. Kenne den Befehl halt noch vom MS-DOS.

    --> Batchdatei

    Code
    del /S *$*
    rd /S *$*

    Evtl. reicht aber auch ein Befehl von beiden mit oder ohne /S. Ausprobieren.

  • Hab eben ein Ordner namens Test erstellt und viele Ordner mit erstellt. Alle Ordner enthalten irgendwo ein $-Zeichen. Habe dann versucht mit

    Code
    rd /S *$*

    diese Ordner zu löschen. Geht nicht. Der Befehl rd unterstützt keine Platzhalter (*$*). Habe schon alles mögliche versucht. Ich glaube das geht nur noch mit dem for-Befehl. Leider habe ich nie mit for gearbeitet.

  • Mach mal so:

    Code
    @echo off
    for /D %%x in (*$*) do rd "%%x"

    Mit den zwei Prozentzeichen geht nur innerhalb einer Batchdatei, bei Direkteingabe dürfte es nur eins sein.

    C64Studio: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- C64Studio WIP: Bitte melde dich an, um diesen Link zu sehen. - Bitte melde dich an, um diesen Link zu sehen. --- Bitte melde dich an, um diesen Link zu sehen.

  • Jo, Danke. Es funktioniert. Alle Ordner, die ein $-Zeichen haben, werden gelöscht.
    Vielen Dank. Jetzt funktionierts.