Xcopy x.jpg- Datei kopieren
Hallo!
Habe folgendes Problem, und zwar:
Ich habe mir einen FTP-Server (Filezilla) eingereichtet, welcher *.jpg - Photos von einer Wireless Überwachungskamera entgegennimmt.
Im Hintergrund habe ich eine Batch-Schleife laufen, die dem Bild das Datum und die aktuelle Uhrzeit zuweist. Die Überwachungskamera sendet die Bilder zu unterschiedlichen Zeiten das heißt, dass jederzeit ei Bild aufgenommen werden kann und dieses an den FTP-Server gesendet wird.
Die Batch auf diesem, PC welches dann die Bilder auf Datum und Uhrzeit umbenennt weiß also nicht wann ein neues Photo gemacht wird und hochgeladen wird.
Mein Problem ist jetzt, dass die Batch erkennt mit: ob etwas neues in den Ordner hinzugefügt wird wurde. Wenn ja beginnt diese sofort mit dem umbenennen des Bildes und kopiert dieses Bild dann in einen "Fertige-Bilder-Ordner". Wenn aber jetzt das hochladen auf den FTP-Server begonnen hat, und die Batch dann gleich Umbenennt und in den fertigen Ordner kopiert, passiert es manchmal, dass das Bild nicht komplett ist, bzw.: das Bild nur "zur Hälfte" angezeigt wird.
Wie kann ich also der Batch sagen, dass diese solage warten soll, bis das Bild fertig hochgeladen wurde und dann erst der Umbenennungsvorgang anfängt?
Danke im Voraus
mfg
regedit19
Habe folgendes Problem, und zwar:
Ich habe mir einen FTP-Server (Filezilla) eingereichtet, welcher *.jpg - Photos von einer Wireless Überwachungskamera entgegennimmt.
Im Hintergrund habe ich eine Batch-Schleife laufen, die dem Bild das Datum und die aktuelle Uhrzeit zuweist. Die Überwachungskamera sendet die Bilder zu unterschiedlichen Zeiten das heißt, dass jederzeit ei Bild aufgenommen werden kann und dieses an den FTP-Server gesendet wird.
Die Batch auf diesem, PC welches dann die Bilder auf Datum und Uhrzeit umbenennt weiß also nicht wann ein neues Photo gemacht wird und hochgeladen wird.
Mein Problem ist jetzt, dass die Batch erkennt mit:
if exist
Wie kann ich also der Batch sagen, dass diese solage warten soll, bis das Bild fertig hochgeladen wurde und dann erst der Umbenennungsvorgang anfängt?
Danke im Voraus
mfg
regedit19
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 177544
Url: https://administrator.de/contentid/177544
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
4 Kommentare
Neuester Kommentar
Hallo regedit19,
eine vernünftige Cam bietet i.a. Möglichkeiten
Es wäre sinnvoller, in diese Richtung zu forschen. Per Batch festzustellen, ob eine Datei schon komplett geschrieben/nach einem Schreibzugriff wieder geschlossen wurde, ist Murks.
Dann kannst Du Dir auch die gesamte Hintergrund-Batch sparen, das frisst sowieso ziemlich viel Prozessorleistung.
Gruß
Friemler
eine vernünftige Cam bietet i.a. Möglichkeiten
- einen Timeserver zu kontaktieren und ihre interne Uhr zu synchronisieren und
- per FTP verschickte Bilder mit einem Namen zu versehen, der einen Zeitstempel enthält. Dazu werden von der Cam Variablen für Datum und Uhrzeit bereitgestellt, die man in den Namen, unter dem die Bilder abgelegt werden sollen, einbauen muss.
Es wäre sinnvoller, in diese Richtung zu forschen. Per Batch festzustellen, ob eine Datei schon komplett geschrieben/nach einem Schreibzugriff wieder geschlossen wurde, ist Murks.
Dann kannst Du Dir auch die gesamte Hintergrund-Batch sparen, das frisst sowieso ziemlich viel Prozessorleistung.
Gruß
Friemler
Hallo regedit19,
tja, da hast Du Dir eine Billig-Cam gekauft, die (laut Handbuch) anscheinend keine Möglichkeit bietet, einen Zeitstempel in den Namen zu integrieren, unter dem ein Bild auf dem FTP-Server abgelegt wird. Falls ich nichts übersehen habe, kann ja noch nicht mal der Name an sich eingestellt werden .
Anyway, der folgende Batch-Schnipsel sollte Dir eine Anregung liefern, Dein Problem zu lösen:
Die zwei aufeinanderfolgenden Pipe-Zeichen am Ende von Zeile 7 bewirken, dass nur dann zum Label
Gruß
Friemler
tja, da hast Du Dir eine Billig-Cam gekauft, die (laut Handbuch) anscheinend keine Möglichkeit bietet, einen Zeitstempel in den Namen zu integrieren, unter dem ein Bild auf dem FTP-Server abgelegt wird. Falls ich nichts übersehen habe, kann ja noch nicht mal der Name an sich eingestellt werden .
Anyway, der folgende Batch-Schnipsel sollte Dir eine Anregung liefern, Dein Problem zu lösen:
@echo off & setlocal
set "SrcFile=E:\Bilder\Test.jpg"
set "Dest=E:\Bilder fertig"
:Loop
move "%SrcFile%" "%Dest%\" 1>NUL 2>NUL || goto :Loop
Die zwei aufeinanderfolgenden Pipe-Zeichen am Ende von Zeile 7 bewirken, dass nur dann zum Label
LOOP
gesprungen wird, wenn der vorhergehende MOVE
-Befehl fehlgeschlagen ist, weil die Datei noch nicht komplett geschrieben wurde oder garnicht existiert.Gruß
Friemler