Chocoemilio Geschrieben 22. August 2012 Geschrieben 22. August 2012 Hallo zusammen, So ich soll eine Batch-Datei erstellen, die die Älteste Sicherung also die Vierte automatisch löscht. Die Dateien liegen im Ordner Z:\ Sicherung_am_Datum und davon 4 stück. Ich habe eine Batch-Datei erstellt, die mir aber anzeigt "Das System kann die angegebene Datei nicht finden." Meine Batch: @echo off echo loesche alle Datumsdateien bis auf die letzten 3... set Ziel=C:\Sicherung_am For /F "eol=; skip=3 tokens=* delims=," %%i in ('dir %Ziel%\Sicherung_am_*.* /O:-N /b') do (RMDIR /S /Q %Ziel%\%%i) pause Über hilfe wäre ich sehr dankbar... Zitieren
Enno Geschrieben 22. August 2012 Geschrieben 22. August 2012 liegen im Ordner Z:\ Sicherung_am_Datum set Ziel=C:\Sicherung_am Das passt nicht zusammen. Zitieren
Eye-Q Geschrieben 22. August 2012 Geschrieben 22. August 2012 Die Dateien liegen im Ordner Z:\ Sicherung_am_Datum und davon 4 stück. Sind das vier Ordner mit jeweils einer Datei gibt (also z.B. Z:\Sicherung_am_2012-08-21\Backup.xyz, Z:\Sicherung_am_2012-08-20\Backup.xyz, Z:\Sicherung_am_2012-08-19\Backup.xyz und Z:\Sicherung_am_2012-08-18\Backup.xyz) oder ist das ein Ordner mit vier Dateien mit dem jeweiligen Sicherungsdatum? Das kommt aus deiner Beschreibung nicht richtig raus (oder ich interpretiere das nur falsch). Wir haben eine vergleichbare Aufgabenstellung folgendermaßen über eine Batchdatei gelöst (die Sicherungsdateien sind immer im selben Ordner und werden nicht nach dem Datum benannt, sondern immer nur <Servername>.xyz): del Z:\<Unterordner>\<Servername>-vorvorgestern.xyz ren Z:\<Unterordner>\<Servername>-vorgestern.xyz <Servername>-vorvorgestern.xyz ren Z:\<Unterordner>\<Servername>-gestern.xyz <Servername>-vorgestern.xyz ren Z:\<Unterordner>\<Servername>.xyz <Servername>-gestern.xyz Also erstmal die älteste Backup-Datei löschen, dann die zweitälteste so umbenennen, dass die den Dateinamen der ältesten erhält etc. pp. Das Backup-Programm speichert dann die Backup-Datei anschließend unter Z:\<Unterordner>\<Servername>.xyz ab. Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Die Dateien sind unter Z:\ aber nicht in Ordnern. Ich mach das auch erst zum erstenmal. Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Sicherung_am_20_08_2012.tib und davon vier stück in Z:\ ist das verständlich..? Zitieren
mcn Geschrieben 22. August 2012 Geschrieben 22. August 2012 Die Dateien sind unter Z:\ aber nicht in Ordnern. Ich mach das auch erst zum erstenmal. Es lassen sich ja auch Dateien löschen bzw. Umbenennen: del filename.extension Sicherung_am_20_08_2012.tib und davon vier stück in Z:\ ist das verständlich..? Ist es! Wie findet eigentlich die Sicherung statt? Per Software - gibt es da keine Möglichkeit ein Ordnungssystem zu nutzen? Oder läuft da auch ein Batch? Dann guck dir ggf. den an. Da ist ganz sicher was drinnen, was du nutzen kannst um dein Problem zu lösen. Interessant wäre aber zu wissen unter welchem OS das Ganze stattfinden soll. Unt NT4 (wer es noch kennt ), W2000 bzw. WXP kann man nämlich Dinge per Batch erledigen die SO unter Vista, W7 etc. nicht unbedingt realisierbar sind. Dafür gibt es aber in W7, W Server 2008 (Vista weiss ich nicht) sowas wie die Power-Shell. Mit der ist es möglich Dinge in einer Art zu realisieren, die auf Funktionen und Mechanismen zurückgreifen, die per Batch (im herkömmlichen Sinne) SO nicht realisierbar sind. Allerdings bin ich (persönlich!) der Meinung dass das nichts mehr mitch Batch (im eigentlichen Sinne) zu tun hat. Unter W97, oder war es W98/ W ME?, war der Windows Scripting Host recht populär - is dann aber kein definitiv Batch mehr. Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Hi, Die Sicherung findet per Software statt und es ist ein Windows Server 08 32bit Betribssystem. Den Power-Shell werde ich mir mal anschauen. Ich würde aber gerne trotzdem wissen warum die Batch die Dateien nicht findet. Der Power Shell, kann an dann auch so konfigurieren das es die Älteste Sicherung automatisch löscht..? Zitieren
SilentDemise Geschrieben 22. August 2012 Geschrieben 22. August 2012 Unt NT4 (wer es noch kennt ), W2000 bzw. WXP kann man nämlich Dinge per Batch erledigen die SO unter Vista, W7 etc. nicht unbedingt realisierbar sind. Was denn? die CMD ist dieselbe. Dafür gibt es aber in W7, W Server 2008 (Vista weiss ich nicht) sowas wie die Power-Shell. Mit der ist es möglich Dinge in einer Art zu realisieren, die auf Funktionen und Mechanismen zurückgreifen, die per Batch (im herkömmlichen Sinne) SO nicht realisierbar sind. Allerdings bin ich (persönlich!) der Meinung dass das nichts mehr mitch Batch (im eigentlichen Sinne) zu tun hat. natürlich nicht, die Powershell ist ja auch eine komplette .NET implementierung, steckt ja auch nicht in einem batch file, ist also auch kein batch. Kann sehrwohl aber aus einem batch heraus ausgeführt werden. Unter W97, oder war es W98/ W ME?, war der Windows Scripting Host recht populär - is dann aber kein definitiv Batch mehr. das gibt es auch bis heute, vbs nutzt das. Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Ich kenn mich nicht mit PowerShell weder mit vbs aus. Hat einer den eine lösung für mein Problem. Ich wiederhole: Auf den Microsoft Server 2008 wird über die Software jeden Tag ein Backup erzeugt was in Z:\ abgelegt wird, ohne in einem Ordner hinterlegt zu werden (Sicherung_am_20_08_2012.tib - Sicherung_am_21_08_2012.tib usw.) Die Älteste also die vierte soll dann automatisch immer gelöscht werden. Dafür brauche ich ein Script...? Ich kenn mich in dieser materie nicht al so gut aus. Ich wäre echt dankbar für Hilfe. Danke nochmal an alle. Zitieren
SilentDemise Geschrieben 22. August 2012 Geschrieben 22. August 2012 erwartest du jetzt von uns, dass wir das Script für dich schreiben? Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Nee vieleicht gibt es ja eine seite die über diese thematik handelt und ich könnte daraus etwas schlauer werden oder meine Batch-Datei verbessern die ich geschrieben habe. Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Und bis jetzt konnte mir auch keiner sagen welchen fehler ich in meiner Batch-Datei habe ausser C:\und Z:\. Zitieren
Tiro Geschrieben 22. August 2012 Geschrieben 22. August 2012 Ich kenn mich nicht mit PowerShell weder mit vbs aus. Aber die "dicke Tante" im Internet befragen solltest Du können? Da ergibt nämlich die Suche sofort einen Zweizeiler auf dem sich trefflich aufbauen läßt. $Heute = Get-Date Get-Childitem PFAD -recurse | Where-Object {($Heute - $_.LastWriteTime).Days -gt 10} | Remove-Item Zitieren
Chocoemilio Geschrieben 22. August 2012 Autor Geschrieben 22. August 2012 Danke dir, ich nehme stark an das das eine PowerShell ist, dann werde ich mich mal in der Materie einlesen :-) Zitieren
mcn Geschrieben 22. August 2012 Geschrieben 22. August 2012 Was denn? die CMD ist dieselbe. Tschuldigung, bissl blöd ausgedrückt. Das war auf die Powershell bezogen, nicht aufs Betriebssystem. Der Rest ist klar und stand, irgendwie, auch nicht zur Disposition. greetz Zitieren
Chocoemilio Geschrieben 23. August 2012 Autor Geschrieben 23. August 2012 Yoo danke ich habe mich in der PowerShell Materie eingelesen versteh es jetzt auch etwas und es hat auch alles geklappt....:-) Danke an alle Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.