marcymarc
Goto Top

Sortieren von webcam aufnahmen

Hallo !!


Ich habe bei mir in der Praxis jetzt 3 Webcams installiert. Diese liefern ca alle 3 sec ein Bild welches folgendes Format ausweist:

motion-2009-02-22-08-02-19.jpg

Dies kommen alle in ein Verzeichnnis zusammen und sollen nun Tageweise (Format: Jahr/Monat/Tag) verschoben werden.

WEnn der Ordner mit dem YYYY/MM/DD nicht existierst, soll er angelegt werden.

Ausgangsverzeichnis

C:\Kameras\Anmeldung\income\

Ziel Bsp:

C\Kameras\Anmeldung\2009.02.28\

Kann mir da jemand Helfen ??

Habe mittlerweile ca 100.000 Datein und kann die nur automatisiert verwalten.

Gruß

Marc

Content-Key: 110196

Url: https://administrator.de/contentid/110196

Printed on: May 5, 2024 at 05:05 o'clock

Member: H41mSh1C0R
H41mSh1C0R Feb 27, 2009 at 20:38:18 (UTC)
Goto Top
Wo liegt das Problem? Suchst du jemanden der dir die Arbeit abnimmt?

Im Grunde kannst du das via Batch, VBA oder direkt über ein eigenes Programm machen.
Member: Marcymarc
Marcymarc Feb 27, 2009 at 20:41:04 (UTC)
Goto Top
Ja kann das aber nicht. WEnn ich es selber könnnte würde ich das nicht posten.

Habe zwar schon mal ne ganz einfache batch geschrieben, aber das krieg ich nicht hin.

Wäre schön wenn mir das jemand schreibt.... ;)
Mitglied: 60730
60730 Feb 27, 2009 at 21:02:48 (UTC)
Goto Top
Servus,

set "jahr=%date:~-4%"  
set "monat=%date:~-7,2%"  
set "tag=%date:~-10,2%"  
if not exist C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\ md C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\
move C:\Kameras\Anmeldung\income\motion-%jahr%-%monat%-%Tag%-*.jpg  C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\

Obwohl das "irgendwie" langweilig ist - eigentlich macht man[n] sich aus den Standbildern ein kleines filmchen....


Gruß

edit
hab den Fehler gemacht, die Variablen nicht in "" zu setzen....
Beim Kopieren aus den Codeblöcken kommt das mit dem leerzeichen am Ende jeder Zeile leider vor.
/edit
Member: Marcymarc
Marcymarc Feb 27, 2009 at 21:11:05 (UTC)
Goto Top
C:\temp\kameras>set jahr=2009

C:\temp\kameras>set monat=02

C:\temp\kameras>set tag=27

C:\temp\kameras>if not exist C:\Kameras\Anmeldung\2009 -02 -27 \ md C:\Kameras\A
nmeldung\2009 -02 -27 \
Der Befehl "-02" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\temp\kameras>move C:\Kameras\Anmeldung\income\motion-2009 -02 -27 -*.jpg C:\
Kameras\Anmeldung\2009 -02 -27 \
Das System kann den angegebenen Pfad nicht finden.

er versucht auch das tagesaktuelle Datum zu nehmen, soll aber das Datum anhand der Dateistruktur verwenden.

Aber finde es schön, dass hier jemand hilft...

Noch ne andere Idee?


Meine Bat.datei

set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
if not exist C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\ md C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\
move C:\Kameras\Anmeldung\income\motion-%jahr%-%monat%-%Tag%-*.jpg C:\Kameras\Anmeldung\%jahr%-%monat%-%Tag%\
Member: bastla
bastla Feb 27, 2009 at 21:36:26 (UTC)
Goto Top
Hallo Marcymarc und willkommen im Forum!

Ungetestet etwa so:
@echo off & setlocal
set "Basis=C:\Kameras\Anmeldung"  

for /f "tokens=1-4 delims=-" %%i in ('dir /b "%Basis%\income\*.jpg"') do (  
    if not exist "%Basis%\%%j.%%k.%%l" md "%Basis%\%%j.%%k.%%l"  
    move "%Basis%\income\%%i-%%j-%%k-%%l-*.jpg" "%Basis%\%%j.%%k.%%l"  
)
bzw, als "kosmetische" Maßnahme zur Vermeidung von (Fehler-)Meldungen, folgende Zeile 6:
move "%Basis%\income\%%i-%%j-%%k-%%l-*.jpg" "%Basis%\%%j.%%k.%%l" >nul 2>&1
Grüße
bastla

[Edit] Unterordner "income" im Quellpfad ergänzt [/Edit]
Member: StefanKittel
StefanKittel Feb 27, 2009 at 23:08:16 (UTC)
Goto Top
Hallo,

probier mal dies: http://www.skittel.de/hpprojekte/autosortfiles/index.html
War zwar für was anderes gedacht, müßte aber passen.

Stefa
Member: Marcymarc
Marcymarc Feb 28, 2009 at 13:16:06 (UTC)
Goto Top
Danke autosort funkltionerit, aber leider muss ich das immer wieder neu einstellen. Für jede Kamera einzeln und jeden Tag erneut.
Member: Marcymarc
Marcymarc Feb 28, 2009 at 13:56:08 (UTC)
Goto Top
Habe jetzt was gefunden:

@echo off & setlocal

:: Festlegen der Variablen für Quell und Zielverzeichnis...
set "QuellDirFiles=C:\temp\Kameras\Anmeldung\income\*.*"
set "ZielDirRoot=C:\temp\Kameras\Anmeldung\"

:: Erstellen der Ordner Anhand des Erstellungsdatums aller Dateien...
for %%i in (%QuellDirFiles%) do (
for /f "tokens=1-3 delims=. " %%a in ("%%~ti") do (
if not exist "%ZielDirRoot%\%%c-%%b-%%a" md "%ZielDirRoot%\%%c-%%b-%%a"

:: Verschieben dieser Dateien...
move "%%~fi" "%ZielDirRoot%\%%c-%%b-%%a"
)
)