weiricth
Goto Top

Batch alter von Datei auslesen und vergleichen

Hi,

also ich hab verschiedene txt dateien die abgefragt werden sollen wie alt sie sind und wenn Sie älter als 2-3 tage sind dann soll das programm abgefragt werden. zur vereinfachung hier pseudo code

if datei.date + 2 = %date% then
anweisung....

so kannn mir da einer helfen


Grüße

TomTom

and never forget:

don't change a runing system


[Edit Biber Juni 2008]
Leider keine Rückmeldung. Ungeklärt geschlossen.
Gute Nachricht: Wir haben andere Thread zum gleichen Thema im Bereich "Batch & Shell" gelöst bekommen.
[/Edit]

Content-Key: 27227

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

Printed on: July 17, 2024 at 20:07 o'clock

Member: Tundra
Tundra Mar 02, 2006 at 12:37:21 (UTC)
Goto Top
Hi TomTom,

du meinst if Alter.Datei <= Alter.Datei -2 then

Aber den Anweisungsteil habe ich nicht verstanden, was soll dann mit dem Programm passieren?
Liegen die Dateien alle in einem Verzeichnis?
Älter als 2 Tage bezieht sich immer auf den aktuellen Tag?

Grüße
Guido
Member: Weiricth
Weiricth Mar 02, 2006 at 12:45:21 (UTC)
Goto Top
hi,

also

ich hab ein programm da soll ne abfrage rein ob schon auf einen server eine datei ist also

if exist \\server\freigabe\ordner\unterordner\%Computername%.txt

wenn des ja ist dann soll er überprüfen anhand des aktuellen datums ob die datei schon älter als 2 tage ist wenn ja dann soll er goto systest machen.

Grüße

TomTom

and never forget:

don't change a runing system
Member: Tundra
Tundra Mar 02, 2006 at 13:03:26 (UTC)
Goto Top
Muss es Batch sein, oder kann es auch VBScript sein,
systest kann man dann z. B. mit Shell.run aufrufen.
Guido
Member: miniversum
miniversum Mar 02, 2006 at 18:37:43 (UTC)
Goto Top
Warum Älter als 2 tage?
Wenns nur generell älter wäre könntest du es mit xcopy machen.

miniversum
Member: Biber
Biber Mar 02, 2006 at 21:00:06 (UTC)
Goto Top
Wie schon an anderer Stelle in diesem Forum empfohlen.
http://home.mnet-online.de/horst.muc/wbat32d.htm#delage

Mit dem DelAge-Utility spare sogar ich beim Rumbätschen mindestens drei Zeilen. face-wink

Gruß
Biber
Member: Weiricth
Weiricth Mar 03, 2006 at 06:36:30 (UTC)
Goto Top
hi,

wenn es so leicht wäre und mit xcopy kann ich auch keinen vergleich machen und warum batch weils a vorgabe ist. und warum kein programm weil es auf 20000 rechner laufen muss und ich ned des ding überall install kann.

Grüße

TomTom

and never forget:

don't change a runing system
Member: Biber
Biber Mar 03, 2006 at 17:16:56 (UTC)
Goto Top
Na, nun wein doch nicht gleich...
wenn es so leicht wäre
...ist doch kein Hexenwerk...
und mit xcopy kann ich auch keinen vergleich machen...
Wenn man/frau will, geht alles...
und warum batch weils a vorgabe ist.
...*Axelzuck*
und warum kein programm weil es auf 20000 rechner laufen muss und ich ned des ding überall install kann
...auf 20000 Rechner? wenn ich da eine Lizenzgebühr von 4 Cent pro Rechner nehme, könnte ich meine Töchter ins Kino einladen..*grübel*

Du kannst es natürlich auch mit Xcopy allein machen, aber dann wird der Batch halt ein paar Zeilen länger. So insgesamt dann 3 oder 4 Zeilen.

Diese Lösung (nur mit XCopy) ist auch schon hier in "Batch und Shell" gepostet.
Strategie:

XCopy hat unter anderem 3 Schalter
- "/D:M-T-J" Kopiert nur die an oder nach dem Datum geänderten Dateien.
- "/L" (der nicht kopiert, sondern nur die betroffenen Dateien auflistet
- "/Excludeface-saddatei)" -der eine Textdatei mit Dateinamen liest, die NICHT kopiert werden sollen.

Also: mach einen Lauf mit
XCOPY quelle\*.txt ziel\*.* /D:02-01-2006 /L (sonstige Parameter) >%temp%\Exclude.lst

:: -danach- einen
XCopy quelle\*.txt ziel\*.* (sonstige Parameter) /Exclude:%temp%\Exclude.lst

Thats all.
(sonstige Parameter) sind die üblichen /Y /i ...und /H /R etc. Siehe Xcopy/?
Wenn Du noch ein "@Echo off" davorsetzt, sind das drei Zeilen.

Schönes Wochenende
Biber

And never forget
Never change a running system.
Never run a changing system.
Change a never running system.