Programm welches Dateien kopiert und verkleinert


Nusskati

Mitglied
Hallo,

ich hoffe, ich bin im richtigen Forenbereich.
Ich bin auf der Suche nach einem Programm, welches Bilder automatisch von Ordner1 nach Ordner2 kopiert und die Bilder dabei verkleinert.
In Ordner1 wird unregelmäßig alle paar Minuten ein neues Bild dazu kommen, das soll das Programm entweder merken und die neue Datei kopieren oder eben alle x Minuten alles kopieren und dabei die schon kopierten Bilder überspringen.

Nun die große Frage: Kennt ihr ein Programm, mit solch einer Funktion?
 

sheel

I love Asm
Hi

Wie genau verkleinern?
Auf eine Maximalgröße in Pixel (unter Beibehaltung von Breiten/Höhenverhältnis)?
Um xy Prozent?
...?

Welche Bildformate sind es? Jpg, Png, ..., verschiedene?
 
Zuletzt bearbeitet:

sheel

I love Asm
Zwei weitere Fragen, die mir noch eingefallen sind :)

Muss das unverkleinerte Originalbild erhalten bleiben?

Wie erkennt man bei einem gerade dazukommenden Bild, wann es fertig abgespeichert ist?
(Wenn das Verkleinerungsprogramm einfach irgendwie regelmäßig läuft
könnte es ab und zu ein gerade halbfertiges Bild lesen ...)

Wenns nicht geht, wäre zB. eine Möglichkeit, neu dazugekommene Bilder erstmal
eine Minute "abkühlen" zu lassen, bevor sie verarbeitet werden. Wird nur etwas
schwierig allein in der Shell umzusetzen, ohne "große" Programmiersprache
 
Zuletzt bearbeitet:

Nusskati

Mitglied
Ja, das Originalbild in Ordner1 soll unbedingt erhalten bleiben.
Ordner1 ist die SD-Karte einer Kamera, die an den PC angeschlossen ist.
Das Bild erscheint in dem Ordner erst, wenn es fertig geschrieben ist, was auch nur Bruchteile einer Sekunde dauert.
 

sheel

I love Asm
Ok, stop zurück. Ist kein großes Problem, weil man zB. eine offene Datei nicht verschieben kann
(endlich nützt diese Windowsunfähigkeit mal...)

(Nur trotzdem noch:
"Das Bild erscheint in dem Ordner erst, wenn es fertig geschrieben ist, was auch nur Bruchteile einer Sekunde dauert.
ist falsch.)
 

Nusskati

Mitglied
Mh ok, also nach dem ich ein Bild mache dauert es keine Sekunde, bis die Kamera mit dem Schreiben auf die Karte fertig ist, zumindest signalisiert die Kamera es so. (Es leuchtet eine rote Lampe beim auf die SD-Karte schreiben)
 

sheel

I love Asm
Gut, eine letzte Frage: Reichts als Konsolenprogramm? :)

Wenn der Quellordner auf der Kamera X:\quell heißt, der Zielorder C:\ziel und ein leerer Hilfsordner C:\hilf, dann
Code:
move "X:\quell\*" "C:\hilf"
cd "C:\hilf"
mogrify -resize "40%" *.jpg
move "X:\hilf\*" "C:\ziel"
So ungefähr in einer .bat-Datei.

Das Programm mogrify ist ein Teil von Imagemagick:
http://www.imagemagick.org/script/binary-releases.php
Ziemlich unten im Windowsbereich, ImageMagick-6.9.2-4-portable-Q16-x86.zip

Bitte zuerst mit gesicherten Bildern testen
 

Nusskati

Mitglied
Ok, ich versuche es mal, kenne mich aber nicht aus und weiß nicht, was ein Konsolenprogramm ist. :D
Also ich lade die zip-Datei runter, muss ich vorher das Programm Imagemagick installieren?
Wo muss ich den Code dann eingeben?
 

sheel

I love Asm
Also ein Konsolenprogramm ist sowas wie auf dem Bild: https://www.petri.com/images/cmd_elev_5.gif
(dort gleich zwei davon). Also kein "schönes" Fenster, in dem man herumklicken kann usw.,
nur so ein schwarzer Kasten mit Text. In deinem Fall musst du nichts drin machen, es taucht nur
bei Programmstart auf und verschwindet bei Ende wieder.
Vorteil daran, dass es für so Aufgaben wie diese in der Konsole deutlich einfachere Möglichkeiten gibt.
Nachteil ist, man sieht die Konsole :D (bzw. kein wirklicher Nachteil, aber es kann störend sein,
bzw. Benutzer die das noch nie gesehen haben bekommen die Panik)

Zu Imagemagick: Die genannte Zip-Datei downloaden und entpacken, irgendwo hin.
Nachschauen ob eine Datei mogrify dabei ist. "Installieren" muss man nichts.

Dann das Programm Notepad starten, den Text oben reinkopieren, die Ordnernamen anpassen,
bei mogrify auch den Ordner angeben wo man Imagemagick hat (zB. "C:\imagemagick\mogrify"),
und als .bat-Datei speichern ("meinProgramm.bat" oder was auch immer).

Die Dateien von der Kamera sicherheitshalber irgendwo hin kopieren,
damit man die Originale noch hat, falls was danebengeht,
und dann einen Doppelklick auf die Bat-Datei...
 

Nusskati

Mitglied
Ok, das habe ich soweit verstanden und probiert, nach dem Ausführen der bat ist aber bisher kein Bild im Ordner2.
So sieht der Code jetzt aus:
Code:
move "C:\Progtest\SD-Karte\*" "C:Progtest\Hilf"
cd "C:\Progtest\Hilf"
C:\ImageMagick\mogrify -resize "40%" *.jpg
move "C:\Progtest\Hilf\*" "C:\Progtest\Fertig"

Muss vielleicht hinter mogrify noch das .exe?

Edit: Habe es gerade selbst gemerkt, in der ersten Zeile hat ein \ gefehlt.
Jetzt ist eine Datei im Ordner, allerdings ist sie nicht um 40% verkleinert sondern 40x40 Pixel groß. :D
(vorher 2048x2048 Pixel)
Und die Datei in Ordner1 (SD-Karte) verschwindet leider auch.

Edit2: Ich habe in der ersten Zeile "move" zu "copy" geändert, so bleibt die Originaldatei im Ordner1.
 
Zuletzt bearbeitet:

sheel

I love Asm
Ok, das mit den 40x40 Pixel dürfte daran liegen, dass CMD einzelne Prozentzeichen
nicht versteht (vorher nicht daran gedacht). Verdopple es, also 40%%

Und das mit dem Copy...(kopfandiewand, da sagst du es vorher extra, und ich denk nichts)
Nimm "xcopy /C /D" statt einfach "copy", so sind dann vorhandene Dateien kein Problem.
Und selbes "xcopy /C /D" auch statt dem unteren move, sonst dürften dann schon
vorhandene Bilder immer weiter verkleinert werden

...naja, die dabei entstehende Ansammlung im Hilfsordner ist nicht wirklich optimal...
Wenns sichs heute ausgeht schreib ich vielleicht was in einer ordentlichen Prog.sprache.
(Jetzt zu müde)
 

Nusskati

Mitglied
Ok, was bewirkt denn das xcopx /C /D?
Wenn ich beides damit ersetze bearbeitet er trotzdem die Dateien, die schon bearbeitet sind (also in beiden Ordnern vorhanden sind) und fragt mich, ob er die Datei in Ordner2 (Fertig) überschreiben soll.
Am besten wäre es natürlich, wenn er Dateien, die schon bearbeitet wurden, einfach übergeht.
Die Datensammlung im Hilfsordner ist kein Problem für mich.
Ok, ich gehe jetzt auch schlafen und warte dann morgen auf deine Antwort, vielen vielen Dank schon einmal! :)
 

Forum-Statistiken

Themen
272.354
Beiträge
1.558.603
Mitglieder
187.825
Neuestes Mitglied
markus.frick