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, 5076 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 ...

Windows Server
gelöst EXE Datei per GPO auf Desktop für alle User kopieren (8)

Frage von haiflosse zum Thema Windows Server ...

Neue Wissensbeiträge
Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Router & Routing

PfSense auf Supermicro Intel Xeon D-15x8 SoC Bare Bone

Tipp von Dobby zum Thema Router & Routing ...

Windows Server

Exchange 2010 auf Windows Server 2016 und AD

(2)

Tipp von Herbrich19 zum Thema Windows Server ...

KVM

How to: Libvirt Port forwarding

(2)

Anleitung von fundave3 zum Thema KVM ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
PC erhalten nicht immer eine gültige IP (29)

Frage von Lieberwolf zum Thema Netzwerkprotokolle ...

Windows Systemdateien
Windows 7 und 10 herunterfahren Knopf mit Script belegen (21)

Frage von c-o-o-p-e-r92 zum Thema Windows Systemdateien ...

Router & Routing
über Vmware auf eine FritzBox mit IPv6 per VPN (16)

Frage von Zockervogel zum Thema Router & Routing ...