sibrad
Goto Top

Script zum Loeschen der Dateien in einem Verzeichnis

Hallo Zusammen,

Ich habe in unserer Firmer folgenden Sachverhalt.

Wir bestitzen einen Transfer Ordner wo alle Mitarbeiter ihre Sachen (Dateien
und Ordner) temporär reinspeichern können. -->
s:\Transfer\

Ich suche eine möglichkeit den Inhalt, Dateien und auch
Unterverzeichnisse, dieses Transfer Ordners Wöchentlich zu löschen.
Ich wollte eine Batch-Datei schreiben und sie dann mit Task-Planer
ausführen lassen.

könnt Ihr mir vielleicht weiterhelfen?

Vielen Dank im Voraus

Content-ID: 89961

Url: https://administrator.de/forum/script-zum-loeschen-der-dateien-in-einem-verzeichnis-89961.html

Ausgedruckt am: 23.12.2024 um 13:12 Uhr

Logan000
Logan000 16.06.2008, aktualisiert am 18.10.2012 um 18:35:52 Uhr
Goto Top
Moin

könnt Ihr mir vielleicht weiterhelfen?
1. Anlaufstelle sollte immer die Suchfunktion sein:

Hier ein Auszug der Ergebnisse mit "dateien löschen":
per Script / Batch Verzeichnisse / Dateien löschen die älter als z. B. 7 Tage alt sind
Alle Dateien löschen bis auf .txt und .doc
Dateien löschen und dabei bestimmte Dateiendungen ausschließen

Gruß L.
60730
60730 16.06.2008 um 15:52:44 Uhr
Goto Top
Servus,

nichts einfacher als das, aber ist das wirklich so einfach, wie du dir es vorstellst?

Angenommen Kollege X arbeitet am Samstag - schiebt Datei y für Kollege Z in den Ordner, der am Sonntag gelöscht wird...

Dann wäre es folgendermaßen:

for /f %%f in (dir/b s:\Transfer) do (echo RD %%f /S/Q)
pause

Beachte:
for /f %%f in (dir/b s:\Transfer) do (echo RD %%f /S/Q) macht nur eine Anzeige, der zu löschenden Ordner:
for /f %%f in (dir/b s:\Transfer) do (RD %%f /S/Q) - löscht die Ordner dann auch.

Edit:

Wer zu spät kommt face-wink
edit² @ jochem, jau - aber wenn das eine Freigabe ist - dann ist das löschen des Freigabe Roots nicht so wirklich elegant...
Jochem
Jochem 16.06.2008 um 15:54:42 Uhr
Goto Top
Moin,
mach Dir eine Batch-Datei für das Verzeichnis "S:\Transfer" mit
- einem RD-Befehl, dem Du die Parameter /s /q verpaßt
- einem MD-Befehl
und laß das Ganze als "Geplanten Task" laufen.

Gruß J face-smile chem
sibrad
sibrad 16.06.2008 um 16:13:59 Uhr
Goto Top
Die Dateien sollen jede So. gelöscht werden. Daher schmerzfrei!!
Gruß
Sibrad
bastla
bastla 16.06.2008 um 16:15:34 Uhr
Goto Top
@timobeil

Wenn Du tatsächlich nur Ordner (ansonsten passt ja "RD" nicht) erwischen willst:
for /d %%f in (S:\Transfer\*.*)  do echo rd /s /q "%%f"  
Für Dateien:
for /f %%f in ('dir /b /a-d S:\Transfer\*.*') do echo del "S:\Transfer\%%f"  
bzw etwas einfacher face-wink:
del /q S:\Transfer
Grüße
bastla
Jochem
Jochem 16.06.2008 um 16:36:41 Uhr
Goto Top
Moin,
@timobeil:
is doch nur als Beispiel gedacht, wobei ich "s:\transfer" nicht unbedingt so freigeben würde. Evtl. als "Transfer", aber dann innerhalb einer übergeordneten Freigabe, auf die alle User Zugriff haben. Wenn Du dann noch "Domänenbenutzer" mit Lese- und Schreibrechten dort "oben" berechtigst, kannst Du "unten" problemlos RD'en und MD'en.
Mach ich bei uns übrigens täglich nach dem Muster, ab 18:00 Uhr wird der Ordner gelöscht. Es kommt noch ne kleine Datei mit dem Namen "Dieser Ordner wird taeglich ab 1800 Uhr gelöscht" hinein, und ab gehts.

Gruß J face-smile chem
sibrad
sibrad 16.06.2008 um 17:04:11 Uhr
Goto Top
Hi,
die Domusers haben lese und schreibrechte auf das Verzeichnis. Es sollen nur die Dateien und Unterverzeichnisse von Transfer-Verzeichnis gelöscht werden.
Die Berechtigungen sollen nicht verändert werden.

Gruß
Sibrad
Biber
Biber 17.06.2008 um 21:43:28 Uhr
Goto Top
Moin Sibrad,

hast Du Deine vorbildlich detaillierten Anforderungen:
die Domusers haben lese und schreibrechte auf das Verzeichnis.
Es sollen nur die Dateien und Unterverzeichnisse von Transfer-Verzeichnis gelöscht werden.
Die Berechtigungen sollen nicht verändert werden.
mit bastlas Lösungsskizze verglichen und falls ja:
Wie ist die gefühlte Passgenauigkeit?
Und kann der Beitrag seinen grünen Haken bekommen?

Grüße
Biber
sibrad
sibrad 17.06.2008 um 21:59:19 Uhr
Goto Top
Hallo Zusammen,

vielen Dank für eure Beiträge. Ich habe es hin bekommen.

Grüße
Sibrad