eaglefox
Goto Top

Dateien umbenennen a la cronjob?

Hallo,

ich arbeite sonst nur mit Linux und muss nun ein Skript für einen Windowsrechner erstellen. Das Problem ist folgendes:

Ich erhalte von einer Kamera via ftp jede Minute eine Datei namens (z.B.) image.img in einen bestimmten Ordner. Da die Kamera dieses Bild immer mit einem neuen Bild gleichen Namens überschreibt muss ich die Datei image.img nach Erhalt umbenennen in z.B. image1.img. Die nächste Datei in image2.img usw.
Wie realisiere ich also unter Windows eine Art Cronjob, der mir jede Minute die neue Datei umbenennt in eine Datei mit laufender Nummer, ohne eine vorhandene Datei zu überschreiben???
Ich denke es könnte ein Batch-Skript sein, dass dann per "geplanter Task" jede Minute aufgerufen wird, wenn das geht.
Aber wie sehen die Befehle unter Windows XP aus???

Ich hoffe Ihr könnt mir helfen!

Vielen Dank!

Content-Key: 20199

Url: https://administrator.de/contentid/20199

Printed on: April 24, 2024 at 19:04 o'clock

Member: SecondLevel
SecondLevel Nov 22, 2005 at 21:38:34 (UTC)
Goto Top
soweit ich weiss, ist geplante task aller 1 min nicht möglich.
Mitglied: 16568
16568 Nov 22, 2005 at 23:29:18 (UTC)
Goto Top
Naja, per Taskplaner würde ich das auch ned realisieren...

Unter Windows ist das schwer, weil da ständig ein Programm im Hintergrund mitlaufen müßte.

Wenn Du diese "Verschwendung" von System-Ressourcen hinnimmst, dann kann man da schon was per VBS oder VB scripten, geht damit am schnellsten.

Batch ist da in meinen Augen zu lahm.
Member: lstenk
lstenk Nov 22, 2005 at 23:42:20 (UTC)
Goto Top
Hallo,

ich denke das Program NameDate kann dir hier weiterhelfen. Suche unter:

http://www.informatics-consulting.de/software/namedate.htm

Es ist ca 64 kB groß, Freewareund ein Standalone. Außerdem hat es "hunderte" Parameter und Schalter die Eingeschaltet werden können.
Eine Eingabe von Namedate /Z:HMS /Y Datein.img würde eine Datei mit dem Namen Deitei220130.img erzeugen. es geht aber auch mit Trennzeichen.

Binde die ganze Sache innerhalb eine Batchdate mit eine Waitschleife als geplanten Task ein und lasse diesen dann laufen. sonnst müßtest du 1440 Wiederholungen (bei 24 Std) für deinen Task anlegen.

Wait.exe gibt es im resKit oder hier: http://www.ppedv.de/software/tool.aspx

viel Spaß
Lstenk
Member: eaglefox
eaglefox Nov 23, 2005 at 06:54:48 (UTC)
Goto Top
Erstmal vielen Dank Euch allen!
@SecondLevel, dann muss das programm eben ständig laufen und warten bis so eine Datei kommt.

@ Lonesome Walker, vbs? Da habe ich noch nichtmal was von gehört, wie soll damit dann erst n skript erstellen? Aber ich kann ja mal versuchen mich da ein wenig schlau zu machen.

@istenk ok, ich werde mich da nachher gleich mal dran setzen. Ich hoffe das lässt sich gut verarbeiten. Bei Windows ist mir das alles immer etwas suspekt! Vielen Dank für die links! Super!

Bis später! face-wink
Member: TommyC
TommyC Apr 05, 2006 at 11:36:07 (UTC)
Goto Top
Hi.

Habe ein Dos Script, daß das tut was Du beschrieben hast.

Du brauchst die Dateien aus dem Ordner nicht entfernen.
Das script zählt beim start automatich die vorhandenen Dateien.
Danach wartet es Zeitlang, anschliessend prüft auf Neuzugang, wenn eine Neue eingetroffen ist, wird sie umbenannt.
@echo off
:: ----------------------------------------
:: Pfad zum Ordner
set PPFAD=E:\ENTWICKLUNG\TEST
:: Dateiname
set DATEI=T
:: Extention (Endung)
set EXT=txt
:: Zaehler (Nicht veraendern)
set CNT=1
:: Check Interval1 (Testinterval, Nicht veraendern)
set INTER1=0
set INTER2=2
:: ----------------------------------------
ECHO.
:EXISTSCH
if exist %PPFAD%\%DATEI%%CNT%.%EXT% (
ECHO %DATEI%%CNT%.%EXT% Existiert bereits
Ping localhost -n %INTER1% > NUL
set /a CNT=%CNT%+1
goto EXISTSCH
) ELSE (
goto UMBENSCH
)
:UMBENSCH
if exist %PPFAD%\%DATEI%.%EXT% (
REN %PPFAD%\%DATEI%.%EXT% %DATEI%%CNT%.%EXT%
ECHO %DATEI%%CNT%.%EXT% Wurde Hinzugefuegt
set /a CNT=%CNT%+1
)
Ping localhost -n %INTER2% > NUL
GOTO UMBENSCH

Gruß. Tom