marioka94
Goto Top

BATCH - Alle Unterordner durchsuchen und bestimmte Dateien löschen

Hallo,
ich habe ein Problem und hoffe das ihr eine Lösung kennt. Ich habe mir schon andere Themen angesehen aber nichts gefunden.

Wie kann ich in einem bestimmten Ordner ALLE Unterordner durchsuchen nach einer test.txt, und falls diese vorhanden ist, diese dann löschen. Wie kann ich das angehen? Könntet ihr mir bitte helfen?
Kommentar vom Moderator Biber am Jun 06, 2010 um 13:29:29 Uhr
Okay, nachdem es auch im Jahre 2010 noch als "Lösung" akzeptiert wird gemäß ringo7000s Kommentar von heute...

-> Ich kreuze in unserem lustigen "Wer wird Moderatillonär?"-Ratespiel mal an "Diese Frage gilt als gelöst".
Oder sollte ich lieber noch auf eine Fifty-Fifty-Jokerin warten..?

Content-Key: 68531

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

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

Member: Biber
Biber Sep 12, 2007 at 16:25:23 (UTC)
Goto Top
Moin marioka94,

willkommen im Forum.
 del /s "x:\bestimmter Ordner\test.txt"  

Ich verschiebe Deine Frage mal nach Batch & Shell.

Grüße
Biber
Member: DerBiba
DerBiba Sep 12, 2007 at 16:25:47 (UTC)
Goto Top
Unter Windows einfach mal auf dem Ordner mit der re. Amaustaste das Kontextmenü aufrufen und dort dann nach deiner Datei suchen.

Biba

Hups! Streich das bitte. Hatte in der Überschrift "Batch" überlesen und der Kollege mit dem Tiernamen war auch schneller face-smile)

Schulligung !
Member: marioka94
marioka94 Sep 12, 2007 at 17:08:08 (UTC)
Goto Top
Danke für eure Antworten!
Aber bei mir geht das irgendwie immernoch nicht.
Ich habe die .BAT Datei jetzt nur auf dem Desktop zum testen und dort noch einen Ordner erstellt (am Desktop) mit ganz vielen Unterordnern und versteckten test.txt Dateien.
Also gebe ich das einfach mal ein, und es kommt eine Meldung:


del /s "ordner\test.txt" -->> ...\test.txt konnte nicht gefunden werden.
cd ordner
cd spielplatz
del /s "ordner\test.txt" --->> Das System kann die angegebene Datei nicht finden.

Ihc glaube irgendwann kam auch mal die Meldung test.txt ist keine Option, aber egal, irgend etwas kann da nicht stimmen?
Was habe ich falsch gemacht?

P.S.: Ich bin noch ein ziemlicher Anfänger in dieser Programmiersprache, und mach das noch ncith lange.
Member: DerBiba
DerBiba Sep 12, 2007 at 17:46:09 (UTC)
Goto Top
del /s "ordner\test.txt" darfst du so nicht übernehmen face-smile

'ordner\' musst du mit deinem Verzeichnis erstzen, also zB.
"C:\Dokumente und Einstellungen\marioka94\Desktop\Spielplatz\test.txt"  

Und da im Ordnernamen 'Dokumente und Einstellungen' Leerzeichen enthalten sind, die bei der Batchverarbeitung zu Problemen führen, musst du den kompletten Pfad in Anführungszeichen setzen.

Ansonsten verschiebe deine Test's doch mal nach C:\TEST\... und versuch es dort mal.

Meld dich wieder, wenn du nicht weiter kommst.


Biba
Member: lanman
lanman Aug 07, 2009 at 14:35:37 (UTC)
Goto Top
Uff, zwei Jahre ist der letzte Post her … naja egal.

Ich habs eigentlich immer mit einer For-Schleife gemacht:

for /f %%a IN ('dir /b /s *.txt') do call del %%a  

Einfach die Maske (also das "*.txt") den Bedürfnissen entsprechend anpassen.
Wichtig: das "dir …" MUSS in Apostrophen stehen, sonst funktioniert es nicht!

Ansonsten, fröhliches Löschen! (:
Member: ringo7000
ringo7000 Jun 06, 2010 at 11:23:25 (UTC)
Goto Top
Vielen Dank an alle für die Super Vorlagen.
Das ist genau das, was ich gesucht hatte.
Meine Endversion sieht so aus:

for /f "delims=" %%a IN ('dir /b /s *.tmp') do call del "%%a"
Member: Sys3D
Sys3D Sep 26, 2010 at 10:05:42 (UTC)
Goto Top
Hallo!

Ich verfolge den Threat aufmerksam und langsam scheint auch für mich eine Lösung in Sicht.
benötige das Bacht, um eine Datenrettung einzugrenzen. Es wurden etwa 400.000 Dateien von einer defekten partition gerettet.
Da nicht nach einer bestimmten Datei gesucht werden soll, sondern so viele Daten wie möglich gerettet werden sollen, muss ich das ganze sichten.
Dazu würde ich gerne die "Müll-Daten" löschen. Damit meine ich etwa Dateien, die auf .f .txt .cab usw. enden und Nebensache sind.
Das Batch über meinem beitrag scheint vielversprechend, habe aber noch ein paar Fragen dazu:

- Wie muss ich das Batch ändern, damit ich die Shell sehe und somit auch was er denn gerade macht?
- Gehe ich richtig in der Annahme, dass ich das Batch eine Ebene höher als das zeilverzeichnis (hier vermutlich "dir") legen und von dort aus anstarten muss?
- Könnte ich noch einen zweiten Suchbegriff eingeben? Wenn ja, wie müsste ich das in den befehl einbauen? So dass halt nicht nur nach zB .f sondern auch nach .cab gesucht und gelöscht wird.

Vielen Dank und Grüße!
Member: Archibalt
Archibalt Oct 17, 2014 at 07:37:48 (UTC)
Goto Top
Hallo Zusammen,
ich weiß der letzte Eintrag dieses Threads ist schon etwas länger her, dennoch habe ich noch eine Frage dazu.
Und zwar habe ich ein ähnliches Problem wie der Threadersteller, doch ich möchte nicht eine bestimmte Datei in mehren Ordnern suchen und löschen, sondern einen Ordner, d. h ich habe mehrere Ordner und möchte in allen den Unterordner Temporary Internet Files löschen, also eigentlich alle Unterordner nach temporary Internet files durchsuchen und diesen dann löschen. Wie stelle ich das an? Ich bedanke mich schonmal für eure Hilfe face-smile