Die Bilder aus der Digicam….

Diese Batch kopiert alle Bilder aus einer SD Karte in das Laufwerk e:\!pix und ist (trotz @echo off) eine Eigenentwicklung.  😉 Man findet die in mindestens einem großen Forum und wer die findet, weiß unter welcher Flagge ich schreibe.

Viel Spass damit.
Die Kamera wechselt den Bilderordner entweder in DCIM\100_PANA oder DCIM\101_PANA oder DCIM\103_PANA
Deshalb die drei Abfragen. Das könnte man zwar auch mir einer führenden for /l absaugen, aber noch mehr „Spaghetticode“ wollte ich dann doch nicht.

:start
@echo off

set „quelldir=F:\PRIVATE1“
set „zieldir=e:\!pix\“
if exist %quelldir%\*.jpg call :import2

set „quelldir=f:\DCIM\100_PANA“
set „zieldir=e:\!pix“
if exist %quelldir%\*.jpg call :import

set „quelldir=f:\DCIM\101_PANA“
if exist %quelldir%\*.jpg call :import

set „quelldir=f:\DCIM\102_PANA“
if exist %quelldir%\*.jpg call :import

cls
@color cf
@echo keine Karte gefunden
@echo Bitte Karte in das Laufwerk legen.
@echo …und eine Taste drcken
pause
goto start

:import2
color fc
for /f „delims=“ %%i in (‚dir /a-d /b „%quelldir%“‚) do for /f „tokens=1-3 delims=. “ %%a in (‚dir /tc „%quelldir%\%%i“^|findstr /c:“%%i“‚) do (
dir „%zieldir%\%%c\%%b-%%a\“ >NUL 2>NUL || md „%zieldir%\%%c\%%b-%%a\“ >NUL
if not exist „%zieldir%\%%c\%%b-%%a\%%c%%b%%a\%%~nxi“ title %%i && copy „%quelldir%\%%i“ „%zieldir%\%%c\%%b-%%a\%%~nxi“
)
goto :eof

:import
color fc
for /f „delims=“ %%i in (‚dir /a-d /b „%quelldir%“‚) do for /f „tokens=1-3 delims=. “ %%a in (‚dir /tc „%quelldir%\%%i“^|findstr /c:“%%i“‚) do (
dir „%zieldir%\%%c\%%b-%%a\“ >NUL 2>NUL || md „%zieldir%\%%c\%%b-%%a\“ >NUL
if not exist „%zieldir%\%%c\%%b-%%a\%%c%%b%%a\%%~nxi“ title %%i && move „%quelldir%\%%i“ „%zieldir%\%%c\%%b-%%a\%%~nxi“
)
:end