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!

Empfohlene Beiträge

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

Link zu diesem Kommentar

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

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...