freakonaleash
Goto Top

Erstellungsdatum vor jede Zeile einer Textdatei schreiben

Hallo zusammen,
ich habe einen Ordner mit ganz vielen Textdateien. Ich bräuchte eine Batch, die in jede Datei vor JEDE Zeile das Erstellungsdatum der Datei schreibt. Datumsformat müsste so sein: 20171203
Als Beispiel: Datei 1 , Erstellungsdatum: 22.03.2016

20160322 Zeile 1
20160322 Zeile 2
20160322 Zeile 3
20160322 Zeile 4
20160322 Zeile 5
20160322 Zeile 6

Das Datum muss da Erstelldatum der jeweiligen Datei sein.
Danach sollten die Datein dann zu einer einzigen Textdatei zusammengefasst werden.

Kann mir dabei jemand behilflich sein? Leider habe ich kaum Ahnung von Batch-Programmierung. Über google komme ich zwar an einzelne Befehle, wie z.B. wie man die Dateien durchläuft mit einer for schleife oder wie man das Datum auslesen kann, aber so wirklich weiß ich damit nicht umzugehen.

Im vorraus vielen Dank!

Content-Key: 328415

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

Ausgedruckt am: 28.03.2024 um 14:03 Uhr

Mitglied: H41mSh1C0R
H41mSh1C0R 04.02.2017 um 09:17:07 Uhr
Goto Top
Zitat von @freakonaleash:
aber so wirklich weiß ich damit nicht umzugehen.

Moin,

wenn du schon in der Lage bist Google zu benutzen, dann solltest du auch in der Lage sein notepad(oder einen anderen Editor deiner Wahl) zu benutzen.

Dazu etwas Lektüre: https://upload.wikimedia.org/wikibooks/de/3/33/Batch.pdf

Jeder fängt mal klein an.

VG
Mitglied: 132272
132272 04.02.2017 aktualisiert um 10:23:32 Uhr
Goto Top
@echo off
set "quelle=c:\OrdnerXYZ"  
set "ziel=c:\ordner\zusammenfassung.txt"  
powershell -Executionpolicy ByPass -Command "gci '%quelle%' -Filter *.txt | sort CreationTime | %%{$f=$_; gc $_.Fullname | %%{\"$($f.CreationTime.toString('yyyyMMdd')) $_\"}} | Set-Content '%ziel%'"  
Gruß
Mitglied: freakonaleash
freakonaleash 04.02.2017 aktualisiert um 21:54:57 Uhr
Goto Top
Nunächst einmal vielen Dank für deine Hilfe!
Musste das "CreationTime" durch "LastWriteTime" ersetzen da ich das Änderungsdatum brauche. Prinzipiell funktioniert auch alles, allerdings werden die einzelnen Textdateien unsortiert zusammengesetzt, kann auch kein Muster erkennen.

1. Besteht die möglichkeit, die Dateien sortiert zusammenzusetzen? Also in der Reihenfolge, wie ich sie im Ordner sehe (sortiert nacht Änderungsdatum)?

2. Frage: WEnn der Pfad umlaute hat gibt es leider Probleme. Gibt es dafür auch ne Lösung?
Mitglied: 132272
Lösung 132272 05.02.2017 aktualisiert um 09:06:01 Uhr
Goto Top
Zitat von @freakonaleash:

Nunächst einmal vielen Dank für deine Hilfe!
Musste das "CreationTime" durch "LastWriteTime" ersetzen da ich das Änderungsdatum brauche.
Sagt der der oben schreibt:
Das Datum muss da Erstelldatum der jeweiligen Datei sein.
no comment...
Prinzipiell funktioniert auch alles, allerdings werden die einzelnen Textdateien unsortiert zusammengesetzt, kann auch kein Muster erkennen.
Die Dateien werden nach Erstelldatum sortiert siehst du doch im Code!
1. Besteht die möglichkeit, die Dateien sortiert zusammenzusetzen?
s.o. nach was sortiert werden soll kannst du mit der sort Anweisung festlegen. Z.B. beim Name schreibst du sort Name

2. Frage: WEnn der Pfad umlaute hat gibt es leider Probleme. Gibt es dafür auch ne Lösung?
Logisch deine Batch in UTF8 Modus schalten chcp 65001 oder chcp 1252, oder gleich alles in der powershell abfackeln!!
Mitglied: freakonaleash
freakonaleash 05.02.2017 um 12:16:04 Uhr
Goto Top
Super vielen Dank für alles.
OK, das mit dem Sortieren war dumm von mir, muss ich zugeben :D.