patsrv 10 Geschrieben 4. Dezember 2008 Melden Teilen Geschrieben 4. Dezember 2008 Hallo, Ich habe xml Dateien die ähnliche Namen haben wie diesen: "lnat_admint_rl_19960_2_2_2032322_v1.xml" Wenn es neuerer versionen dieser Dateien gibt dann werden die so abgelegt: "lnat_admint_rl_19960_2_2_2032322_v2.xml" Ich will jetzt (am liebsten mit einer .bat) aller gleichbenannten files löschen bis auf die aktuellste version also in diesem fall v2. Jemand ne idee ?! Zitieren Link zu diesem Kommentar
Poison Nuke 10 Geschrieben 4. Dezember 2008 Melden Teilen Geschrieben 4. Dezember 2008 del *v1.xml wenn es mehrere Versionsnummer gibt, dann kopierst alle anderen Datein in ein neues Verzeichnis: md temp move *v2.xml temp\*v2.xml del *.xml move temp\*.* rd temp Zitieren Link zu diesem Kommentar
patsrv 10 Geschrieben 4. Dezember 2008 Autor Melden Teilen Geschrieben 4. Dezember 2008 Danke für deine fixe Antwort und was is wenn es auch v3 oder v4 gibt ?! das soll ja automatische passieren ! Zitieren Link zu diesem Kommentar
Poison Nuke 10 Geschrieben 4. Dezember 2008 Melden Teilen Geschrieben 4. Dezember 2008 soll das im Taskplaner aufgerufen werden und der soll immer schauen, was die aktuelle Version ist und die alten löschen oder wird es manuell aufgerufen? Zitieren Link zu diesem Kommentar
patsrv 10 Geschrieben 4. Dezember 2008 Autor Melden Teilen Geschrieben 4. Dezember 2008 es wird manuell aufgerufen ! man sollte möglichst nicht schauen müssen was die aktuellste version ist ^^. es kann 100 von files geben die alle über verschiedene versionen verfügen. Zitieren Link zu diesem Kommentar
Poison Nuke 10 Geschrieben 4. Dezember 2008 Melden Teilen Geschrieben 4. Dezember 2008 D: CD test FOR /L %%i IN (1,1,50) DO IF EXIST *v%%i.xml set foo=%%i MD temp MOVE *v%foo%.xml temp\ DEL *.xml MOVE temp\*.* RD temp denke es könnte auch noch anders gehen, der FOR Befehl kann auch mit Dateilisten arbeiten und hat da vorallem einige Expansionsfunktionen, aber ich habe da noch nicht so ganz durchgeblickt, inwiefern das für diese Funktion nutzbar gemacht werden könnte. Zudem das so ja auch funktioniert. Aber bei dem Skript wird nur die höchste Versionsnummer von allen genommen...ich hoffe es gibt nicht verschiedene Versionsnummern? Dann müsste man jede Datei einzeln betrachten, das wird noch etwas interessanter. Zitieren Link zu diesem Kommentar
patsrv 10 Geschrieben 9. Dezember 2008 Autor Melden Teilen Geschrieben 9. Dezember 2008 Vielen Danke Poison Nuke für deine Lösung ! Ist foo eine belibige variable die du Setzt ?! /edit: Da bleibt allerdings 1 Problem :( : Wenn ich dateien mit...v1 habe wo es keine höheren Versionen gibt werden diese auch gelöscht :( Das Problem liegt darin das wenn er beim 1. file die höchste Version erarbeitet hat kopiert er von allen vorhanden files diese version und der rest der files wird gelöscht... Zitieren Link zu diesem Kommentar
Poison Nuke 10 Geschrieben 26. Dezember 2008 Melden Teilen Geschrieben 26. Dezember 2008 kannst du bitte mal ein Beispielordner zeigen...also mal eine umfangreichere Auflistung von den Dateien? Dass ich mir da mal ein Bild machen kann. Eventuell müsste man da noch ein Array einbauen und jeden Dateinamen getrennt betrachten, aber da ist die Frage, was für Regeln man anwenden kann, ohne die Namensgebung genau zu kennen und nach welchen Regeln diese erstellt wird, kann ich keine weitere Lösung anbieten :X Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.