Matze1708 10 Geschrieben 3. Oktober 2013 Melden Teilen Geschrieben 3. Oktober 2013 Hallo zusammen, Ich bekomme von einer IP Kamera Dateien in ein Netzlaufwerk geschoben. Wenn ich mal nicht dran denke ist dieses Verzeichnis ruck zuck mit Tausenden kleiner Bilder voll. Dazu kommt noch das gar keine Sortierung statt findet. Alle Tage sind in einem Verzeichnis und bei 80000 Dateien ist der Explorer nicht so fit. Meine Idee..... Täglich alle Dateien in einen Ordner verschieben der das aktuelle Datum trägt. Nach einer Zeit die ältesten Ordner mit Inhalt löschen. Das automatisiert und per aufgabenplanung. Wie könnte ich das umsetzten? Danke schon mal Gruss Matthias Zitieren Link zu diesem Kommentar
Jochen_G 1 Geschrieben 4. Oktober 2013 Melden Teilen Geschrieben 4. Oktober 2013 (bearbeitet) Ist schon ne weile her, aber das könnte man doch sicher mit einem einfachen Batchscript bewerkstelligen? Sowas wie: cd <Folder_mit_Pix> mkdir Fotos_%date% move *.jpg Fotos_%date% gespeichert als FotoArchiver.bat und über den TaskScheduler 1x am Tag laufen lassen. Bitte vorher Testen ;) bearbeitet 4. Oktober 2013 von Jochen_G Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 4. Oktober 2013 Autor Melden Teilen Geschrieben 4. Oktober 2013 Hallo, danke für deine Antwort Sieht doch ganz gut aus. funktioniert auch. Gehen wir mal davon aus das aus irgendeinem Grund der ORdner schon besteht, was muss ich vorgeben damit die Daten dann noch in den bereits erstellen Tages ordner kommen? Wenn ich ältere löschen will kann ich das mit Monaten vorgeben? Danke vielmals Gruß Matthias Zitieren Link zu diesem Kommentar
Jochen_G 1 Geschrieben 4. Oktober 2013 Melden Teilen Geschrieben 4. Oktober 2013 (bearbeitet) das ist dem script eigentlich völlig wurscht, wenn der Ordner schon besteht dann schlägt eben der mkdir fehl und es macht mit dem move sowieso weiter :) Das mit den Monaten wäre dann wohl, wenn ich die Frage recht verstehe: @For /F "tokens=1,2,3 delims=. " %%A in ('Date /t') do @( Set Day=%%A Set Month=%%B Set Year=%%C ) REM @echo DAY = %Day% REM @echo Month = %Month% REM @echo Year = %Year% mkdir Fotos_%Month%_%Year% move *.jpg Fotos_%Month%_%Year% mit dem kleinen Beisatz, das das nur mit der deutschen Regionaleinstellung (DD.MM.JJJJ) läuft, soweit ich mich entsinne wäre z.B. das US format mit / anstelle des . und dementsprechend würde das script nicht funktionieren. Den Tag und die Echos habe ich drin gelassen zu debug zwecken, können auch entfernt werden. bearbeitet 4. Oktober 2013 von Jochen_G Zitieren Link zu diesem Kommentar
Matze1708 10 Geschrieben 4. Oktober 2013 Autor Melden Teilen Geschrieben 4. Oktober 2013 ähm nicht ganz... Wollte eigentlich nur Ordner die älter sind wie X Monate löschen lassen. Zitieren Link zu diesem Kommentar
Jochen_G 1 Geschrieben 5. Oktober 2013 Melden Teilen Geschrieben 5. Oktober 2013 (bearbeitet) Falsch verstanden, aber glaube dennoch recht ähnlich (langsam wirds lustig :p) @For /F "tokens=1,2,3 delims=. " %%A in ('Date /t') do @( Set Day=%%A Set Month=%%B Set Year=%%C ) REM @echo DAY = %Day% REM @echo Month = %Month% REM @echo Year = %Year% mkdir Fotos_%Month%_%Year% xcopy /k /r /e /i /s /c /h /d <pixfolder> Fotos_%Month%_%Year% rd /q /s <pixfolder> mkdir <pixfolder> müssen aber natürlich die pfade angepasst werden und ggfls laufwerksbuchstaben hinzugefügt. Das ganze dann am Monatsende laufen lassen (oder bei bedarf häufiger), nur darauf achten, das der Fotos_%Month%_%Year% Ordner kein Unterordner vom <pixfolder> ist ^^ Vorsicht mit dem rd, das löscht gnadenlos, daher vorher wie gehabt, testen :) bearbeitet 5. Oktober 2013 von Jochen_G 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.