Datum in Datei automatisch aktualisieren
hallo
habe 2 Datein (xml und lst Format) diese haben beide an einer bestimmten Position eine Datumsangabe. Ich möchte diese nun aktualiesieren. Der restliche Dateiinhalt soll nich verändert werden.
bei der xml Datei Zeile 2 Position 15 bis 22
sowie in Zeile 11 Position 15 bis 22
bei der lst Datei zeile 1 Position 13 bis 20
jeweils ohne Trennungszeichen im Format TTMMJJJJ
wäre sehr dankbar für eine Lösung
bei der xml Datei Zeile 2 Position 15 bis 22
sowie in Zeile 11 Position 15 bis 22
bei der lst Datei zeile 1 Position 13 bis 20
jeweils ohne Trennungszeichen im Format TTMMJJJJ
wäre sehr dankbar für eine Lösung
Please also mark the comments that contributed to the solution of the article
Content-Key: 113749
Url: https://administrator.de/contentid/113749
Printed on: May 4, 2024 at 07:05 o'clock
4 Comments
Latest comment
Hallo ms2lork und willkommen im Forum!
Das ließe sich am einfachsten mit einem VBScript erledigen:
Falls Du nicht das aktuelle Datum verwenden willst, kannst Du in Zeile 4 das Apostroph entfernen und zwischen die Anführungszeichen das gewünschte Datum schreiben.
In den Zeilen 9 und 10 bzw 14 sind die Zeile(n) und Startposition(en) innerhalb der Zeile für die jeweilige Datei anzugeben.
Es wird vorausgesetzt (und daher nicht geprüft), dass die in den Zeilen 1 und 2 angegebenen Dateien existieren und dass die zu verändernden Zeilen auch tatsächlich ein Datum an den vorgegebenen Positionen (für Position 1 wäre übrigens eine Anpassung des Scripts erforderlich) enthalten.
Die Ersetzung erfolgt "in der Datei" - daher bitte zum Testen nur mit Kopien arbeiten.
Grüße
bastla
P.S.: Bei Bedarf lassen sich die Dateipfade bzw der Datumswert natürlich auch als Parameter beim Aufruf des Scripts übergeben.
Das ließe sich am einfachsten mit einem VBScript erledigen:
Datei1="D:\Datei1.xml"
Datei2="D:\Datei2.lst"
D=Replace(Date,".","")
'D="TTMMJJJJ"
L=Len(D)
Set fso = CreateObject("Scripting.FileSystemObject")
T = Split(fso.OpenTextFile(Datei1).ReadAll,vbCrLF)
Z= 2: P=15: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L)
Z=11: P=15: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L)
fso.CreateTextFile(Datei1).Write Join(T,vbCrLF)
T=Split(fso.OpenTextFile(Datei2).ReadAll,vbCrLF)
Z= 1: P=13: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L)
fso.CreateTextFile(Datei2).Write Join(T,vbCrLF)
In den Zeilen 9 und 10 bzw 14 sind die Zeile(n) und Startposition(en) innerhalb der Zeile für die jeweilige Datei anzugeben.
Es wird vorausgesetzt (und daher nicht geprüft), dass die in den Zeilen 1 und 2 angegebenen Dateien existieren und dass die zu verändernden Zeilen auch tatsächlich ein Datum an den vorgegebenen Positionen (für Position 1 wäre übrigens eine Anpassung des Scripts erforderlich) enthalten.
Die Ersetzung erfolgt "in der Datei" - daher bitte zum Testen nur mit Kopien arbeiten.
Grüße
bastla
P.S.: Bei Bedarf lassen sich die Dateipfade bzw der Datumswert natürlich auch als Parameter beim Aufruf des Scripts übergeben.