Jump to content

batch + Zeile aus textfile auslesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Recommended Posts

Posted

hallo!

 

hat jemand eine ahnung, wie man in einer batch datei eine bestimmte zeile aus einem textfile lesen kann:

 

mit for /f "skip=n.....

kann ich ab einer gewissen zeile lesen, aber da gibt es kein abbruchkriterium...

 

es wäre echt toll, wenn mir da jemand helfen könnte..ich verzweifle nämlich schön langsam ;)

 

mfg

Posted

ich will einen teil des datums eines files extrahieren und in einer variable ablegen...

 

ich wollte es mit einer for anweisung machen...die kann ich aber nicht abbrechen...

 

die würde in etwa so aussehen:

also ich nehm das datum:

 

for /f "skip=7 tokens=1,2,3 delims=\. " %a in (test.txt) do set tmp=%a.%b.%c

 

und da überschreibt er mir aber ständig die variable...

 

ich hab nämlich keine möglichkeit gefunden den timestamp eines ordners halbwegs anständig herauszubekommen...

deshalb will ich ein wenig "pfuschen" und dies so machen

Posted

so kannst du das Datum auslesen (wenn ich dich richtig verstanden habe)

 

for /F "tokens=1-2" %%i in ('date /T') do (set DATUM=%%i)

for /F "tokens=1 delims=. " %%i in ("%DATUM%") do set tag=%%i

for /F "tokens=2 delims=. " %%i in ("%DATUM%") do set mon=%%i

for /F "tokens=3 delims=. " %%i in ("%DATUM%") do set jahr=%%i

 

for /F "tokens=1" %%i in ('time /T') do (set ZEIT=%%i)

for /F "tokens=1 delims=: " %%i in ("%ZEIT%") do set std=%%i

for /F "tokens=2 delims=: " %%i in ("%ZEIT%") do set min=%%i

echo Jetzt: %tag%.%mon%.%jahr% %std%:%min%

 

pause

Posted

ja danke, dass is mir schon klar...

mein problem ist folgendes..

ich möchte in einem cache ordner alle ordner löschen, die z.B älter als ein monat sind.

 

nun war meine idee folgende..

ich hole mir alle directories in ein file..dann lese ich eines nach dem anderen aus und schreibe mir die enthaltenen files wieder in ein file...

jetzt nehm ich einfach ein datum von einem file her (da wenn das filedatum ein gewisses alter hat, kann ich den ganzen ordner löschen)

 

aber wenn du dir ein "dir" anschaust, dann kannst du am anfang und am ende ein paar zeilen schmeissen...zuerst infos über datenträger usw. und am ende datein + gesamte grösse.. da hier das datum z.B vom letzten zugriff enthalten ist wär das dann falsch

 

und nun möchte ich z.b einfach das erste file hernehmen (das relevant ist) und die ersten 3 tokens (tt.mm.jjjj) herausholen und in einer variable ablegen

aber wenn ich das mit einer for schleife mache, kann ich sie nicht abbrechen..und er würd mir im endeffekt dies hier liefern:

 

01.09.2004 dies gehört aber zu dem eintrag:

2.Verzeichnis(se),.7.075.512.320

 

danke für deine antwort...vielleicht hast du aber sogar auf dieses prob eine antwort ;)

mfg

 

p.s: und deshalb wäre es toll, wenn ich z.B nur das datum der achten zeile auslesen könnte

Posted

Ah so...

 

wir machen das so:

 

set minage=20040615

robocopy I:\ Z:\Ziel\alle /e /move /XD Name1 Name2 /minage:%minage%

 

 

alle Daten, die älter als 15.06.2004 sind, werden in ein Ordner verschoben, dabei werden Order Name1 und Name2 ignoriert. Dann kannst du noch mal allesim Ordner alle durchgehen und wenn alles o.k. ist kannst du den Ordner alle löschen.

 

P.S. Der Ordner alle muss aber existieren

Posted

aha...

ja das wird mir aber nicht viel weiterhelfen..

da das batch programm jeden tag beim starten eines anderen progs aufgerufen werden soll und alles älter 30 tage löschen soll.

das es sich hierbei um mehrere gigs handelt, will ich nicht herumschieben ;)

und da dies also dynamisch ist und sich nicht an einem fixen datum orientiert, will ich eben das datum "auseinandklauben" und das dann arithmetisch lösen..

 

aber danke für die hilfe :)

 

mfg

 

dani

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...