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, 5057 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

Mit freundlichen Grüßen
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

Mit freundlichen Grüßen
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!


Mit freundlichen Grüßen
regedit19
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(1)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
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 ...

Batch & Shell
gelöst Nach xcopy feststellen, ob Datei kopiert wurde oder nicht (9)

Frage von Scar61 zum Thema Batch & Shell ...

Batch & Shell
gelöst Powershell Datei kopieren mit ACL Script funktioniert nicht (4)

Frage von xpxy15 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...