marcymarc

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
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 110196

Url: https://administrator.de/forum/sortieren-von-webcam-aufnahmen-110196.html

Ausgedruckt am: 09.06.2025 um 02:06 Uhr

H41mSh1C0R
H41mSh1C0R 27.02.2009 um 21:38:18 Uhr
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.
Marcymarc
Marcymarc 27.02.2009 um 21:41:04 Uhr
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.... ;)
60730
60730 27.02.2009 um 22:02:48 Uhr
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
Marcymarc
Marcymarc 27.02.2009 um 22:11:05 Uhr
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%\
bastla
bastla 27.02.2009 um 22:36:26 Uhr
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]
StefanKittel
StefanKittel 28.02.2009 um 00:08:16 Uhr
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
Marcymarc
Marcymarc 28.02.2009 um 14:16:06 Uhr
Goto Top
Danke autosort funkltionerit, aber leider muss ich das immer wieder neu einstellen. Für jede Kamera einzeln und jeden Tag erneut.
Marcymarc
Marcymarc 28.02.2009 um 14:56:08 Uhr
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"
)
)