johndee
Goto Top

bestimmte Dateien und Verzeichnisse per Batch suchen und löschen

Hallo,

ich habe ein Problem. Und zwar benötige ich einen Batchdatei die das komplette Netzwerk sowie die lokalen Ordner
nach einem bestimmten Datei- oder Verzeichnisnamen durchsucht und dann löscht.

Zum Beispiel:
Sagen wir überall wo der Namen test auftaucht, soll die Batchdatei dies löschen.
Egal ob lokal oder über Netzwerk.

Gibt es da eine Möglichkeit ?
Danke

Content-Key: 91599

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

Ausgedruckt am: 28.03.2024 um 19:03 Uhr

Mitglied: Biber
Biber 09.07.2008 um 08:13:58 Uhr
Goto Top
Moin JohnDee,

willkommen im Forum.

Natürlich kannst Du per Batch alle lokalen und Netzlaufwerke inclusive DVD-LW und USB-Stick pauschal per Batch durchpflügen und Dateien/Verzeichnisse auch mit Wildcards ohne Rückfrage löschen....

  • aber die Anforderung erscheint mir an den Haaren herbeigezogen.
  • und angesichts des Risikos (nämlich das 27899 Dateien zuviel gelöscht werden) nicht wirklich dringlich umzusetzen.

Bitte um Erläuterung:
  • was steckt inhaltlich dahinter?
  • wieso können Datei/Verzeichnis "irgendwo, wo ich Zugriff habe" rumliegen, wieso lassen sich die möglichen Speicherorte nicht genauer eingrenzen?

Nicht alles, was sich mit Batch realisieren lässt, muss auch wirklich umgesetzt werden..

Grüße
Biber
Mitglied: JohnDee
JohnDee 09.07.2008 um 11:41:17 Uhr
Goto Top
Hi,

is bisschen schwer zu erklären.
Auf dem Computer liegen ein Haufen von Dateien welche einen bestimmten Namen haben. In tausend verschiedenen Ordnern. Okay, ich könnte das ganze einfach in Windows suchen und manuell löschen. Aber das wäre ziemlich zeitaufwendig. Wenn es jetzt eine Möglickeit gäbe die Dateien und Verzeichnisse, die diesen Namen enthalten, zu suchen un zu löschen wäre es perfekt.

Versehentlich sollten dabei eigentlich keine anderen Dateien gelöscht werden können,
da ja in der Batchdatei der beinhaltende Name angegeben wird.

Also..
Batchdatei starten
Batchdatei durchsucht ... , beschränken wir es auf alle lokalen Laufwerke, die Festplatten nach allem was zum Beispiel test1234 enthält

Danach löscht die Batchdatei alles was mit test1234 gefunden wurde.
Egal ob Verzeichnis oder Datei.

Das würde mir extrem viel Zeit sparen wenn es möglich wäre.

Lieben Gruß
JD
Mitglied: Biber
Biber 09.07.2008 um 15:30:43 Uhr
Goto Top
Moin JohnDee,

ich weiß nicht... auf einem ganzen Laufwerk suchen und dann ohne Rückfrage mit allen gefundenen Dateien/Verzeichnissen irgendetwas machen.. nach meiner Wahrnehmung hat sich dieses Vorgehen noch nie bewährt.
Selbst diese so genannten Power-Skripte aus den einschlägigen Tankstellen-PC-Zeitschriften, die ein "Del c:\*.tmp" /S /Q" als "systemweites Löschen von temporären Dateien" anpreisen... selbst diese Skripte löschen je nacht Standpunkt zuviel oder zuwenig.

Wenn Du es unbedingt willst und es keine sinnvolle Alternative gibt:
  • mit Del /s /q [Startordner]]dateimaske löscht Du unterhalb eines Verzeichnisses alle Dateien {Dateimaske} ohne Rückfrage
  • mit der Ordnerverarbeitung wird es schwieriger, weil Du die Ordnerstruktur rekursiv lesen musst UND im gleichen Arbeitsgang eigentlich auch einen zu löschenden Ordner löschen musst... unter Umständen werden die Ergebnisse schwer vorhersagbar, wenn Du mit einer FOR/R Anweisung alle Verzeichnisse durchwackelst und gerade die Unterordner eines verzeichnisses test1234 durchläufst, das Du justament gelöscht hast.

Für den zweiten Fall wäre also das Vorgehen eher:
  • Mit "dir /Ad /b /s {verzeichnismaske}"> DirsToDelete.txt" eine Liste aller zu löschenden Verzeichnisse zu erstellen und diese in einem zweiten Arbeitsgang abzuarbeiten mit einer FOR/F-Anweisung.

Grüße
Biber