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

Printed on: April 26, 2024 at 12:04 o'clock

Member: H41mSh1C0R
H41mSh1C0R Feb 04, 2017 at 08:17:07 (UTC)
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 Feb 04, 2017 updated at 09:23:32 (UTC)
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ß
Member: freakonaleash
freakonaleash Feb 04, 2017 updated at 20:54:57 (UTC)
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
Solution 132272 Feb 05, 2017 updated at 08:06:01 (UTC)
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!!
Member: freakonaleash
freakonaleash Feb 05, 2017 at 11:16:04 (UTC)
Goto Top
Super vielen Dank für alles.
OK, das mit dem Sortieren war dumm von mir, muss ich zugeben :D.