Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Xcopy x.jpg- Datei kopieren

Frage Entwicklung Batch & Shell

Mitglied: regedit19

regedit19 (Level 1) - Jetzt verbinden

11.12.2011 um 14:35 Uhr, 5075 Aufrufe, 4 Kommentare

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:
01.
if exist
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
Mitglied: Friemler
11.12.2011 um 14:58 Uhr
Hallo regedit19,

eine vernünftige Cam bietet i.a. Möglichkeiten

  1. einen Timeserver zu kontaktieren und ihre interne Uhr zu synchronisieren und
  2. 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
Bitte warten ..
Mitglied: regedit19
11.12.2011 um 15:21 Uhr
Hallo Friemler, und danke für die schnelle Antwort!

Man kann auf der Weboberfläche der Kamera zwar einstellen, ob er mit einem Timeserver synchronisieren soll, oder ob er die Computeruhrzeit als Uhrzeit nehmen soll. Was aber leider nicht funktioniert, ist dass das Datum und die Uhrzeit sowie das wievielte Bild in einem Format zwar mitgeschickt wird, aber wenn man das Format auf die Schnelle auslesen will, und nachsehen möchte wann das Bild geschossen wurde hat man keine Chance, weil alles in einer Wurst steht.

Es ist keine High-Tech Kamera, welche weiß ich wie viel kostet, aber schade dass sie das nicht kann.

Könntest du mir vielleicht deinen Punkt 2. Nochmals genauer erklären, da ich mir das mit dem Zeitstempel nicht ganz vorstellen kann bzw.: ich nicht weiß wie das funktioniert. Oder meist du saß der FZ-Server bereits das Datum und Uhrzeit dazuschreiben könnte, wenn das Bild beim Server ankommt?

Ps: Vielleicht hilft es: Ich habe diese Kamera: http://www.hama.de/00053111/hama-wireless-lan-ip-kamera-outdoor-54-mbps

MfG
regedit19
Bitte warten ..
Mitglied: Friemler
11.12.2011 um 16:07 Uhr
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:
01.
@echo off & setlocal 
02.
 
03.
set "SrcFile=E:\Bilder\Test.jpg" 
04.
set "Dest=E:\Bilder fertig" 
05.
 
06.
:Loop 
07.
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
Bitte warten ..
Mitglied: regedit19
11.12.2011 um 19:56 Uhr
Hallo Friemler!

Genau das, was ich gesucht habe!
Danke für den Denkanstoß zum <tt>MOVE</tt>-Befehl!
Funktioniert so wie gewünscht.

Hab heute schon den ganzen Tag herum studiert, wie ich das anstellen könnte, damit es hinhaut, und jetzt funktioniert es! Juhu!

Das Script führt jetzt solange einen Loop aus, bis das Bild komplett auf dem FPT- Ordner gelandet ist und startet dann denn weiteren umbenennungs-Vorgang.

Vielen Dank nochmal!
Und schönen 3. Advent-Abend!


MfG
regedit19
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Verzeichniss überwachen Datei kopieren und umbenennen (6)

Frage von fischle63 zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch Datei Kopieren (17)

Frage von Frager zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner per Batch verschieben, Datei kopieren (2)

Frage von Shape.Shifter zum Thema Batch & Shell ...

C und C++
gelöst In einer Windows Form Anwendung per Button eine Datei kopieren (4)

Frage von Knuefi zum Thema C und C ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Batch & Shell
gelöst Batch um Benutzer aus Sitzung abzumelden (15)

Frage von zeroblue2005 zum Thema Batch & Shell ...