Supportnet Computer
Planet of Tech

Supportnet / Forum / BS-Sonstige

DOS BATCH FILE





Frage

Hi, ich möchte eine DOS Batch Datei schreiben, die folgendes macht : In einem Verzeichnis die Anzahl der Dateien zählen. Wenn mehr als 3 Files in diesem Verzeichnis sind, soll die älteste gelöscht werden. Wenn weniger als 3 Files in dem Verzeichnis sind, soll gar nix gemacht werden. Wie kriege ich das hin ? Danke im voraus. Holger

Antwort 1 von maneich

Hallo,

was Du vorhast ist in einer Batch ohne Zusatzprogies so einfach nicht möglich.

Lade Dir von http://home.nikocity.de/horst.muc/
das Programm VARSET herunter - ist Freeware - damit kannst Du fast alles erledigen, was Du für Deine Vorhaben brauchst.

Mit call Pfad\var set x=files Verzeichnis A\*.* hast Du die Anzahl der Dateien im Verzeichnis A.

Mit der Abfrage for %%e in (3 2 1) do if %x%==%%e goto ende hast Du die Abfrage ob 3 oder weniger Dateien vorhanden sind und beendest die Batch wenn 3 oder weniger.

Ich weis ja nicht wieviele Dateien Du maximal im Verzeichnis haben kannst. Bei 4 - 5 Dateien kannst Du es hintereinander abarbeiten, bei mehr Dateien solltest Du eine Schleife einbauen mit Zähler; auch das kannst Du mit varset machen.

Mit call var set a=date Verzeichnis A\Datei n1;n2;nx kannst Du die Erstellungsdaten der einzelnen Dateien ermitteln (einzeln durchführen) und mit varset n=%n1%-%n2% kannst Du feststellen ob mit Abfrage von errorlevel n2 größer oder gleich n1 ist, diese Abfragen dann jeweils immer von der kleineren Datei mit einer neuen Datei durchführen, womit Du dann zum Schluß auf die Datei mit dem ältesten Datum kommst, die Du dann löschen kannst.

Dies dürfte der schnellste und einfachste Weg zur Lösung Deiner Aufgabe sein.

MfG maneich







Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: