Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Datum in Datei automatisch aktualisieren

Frage Entwicklung Batch & Shell

Mitglied: ms2lork

ms2lork (Level 1) - Jetzt verbinden

13.04.2009, aktualisiert 17:36 Uhr, 4575 Aufrufe, 4 Kommentare

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
Mitglied: bastla
13.04.2009 um 18:20 Uhr
Hallo ms2lork und willkommen im Forum!

Das ließe sich am einfachsten mit einem VBScript erledigen:
01.
Datei1="D:\Datei1.xml" 
02.
Datei2="D:\Datei2.lst" 
03.
D=Replace(Date,".","") 
04.
'D="TTMMJJJJ" 
05.
L=Len(D) 
06.
Set fso = CreateObject("Scripting.FileSystemObject") 
07.
 
08.
T = Split(fso.OpenTextFile(Datei1).ReadAll,vbCrLF) 
09.
Z= 2: P=15: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L) 
10.
Z=11: P=15: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L) 
11.
fso.CreateTextFile(Datei1).Write Join(T,vbCrLF) 
12.
 
13.
T=Split(fso.OpenTextFile(Datei2).ReadAll,vbCrLF) 
14.
Z= 1: P=13: T(Z-1)=Left(T(Z-1),P-1)&D&Mid(T(Z-1),P+L) 
15.
fso.CreateTextFile(Datei2).Write Join(T,vbCrLF)
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.
Bitte warten ..
Mitglied: ms2lork
14.04.2009 um 17:55 Uhr
hi,
danke für die schnelle Antwort funktioniert super. Nur hab ich irgendwie die Zeit vergessen. In der xml Datei steht nach dem Datum mit Leerzeichen getrennt (TTMMJJJJ HHMM) noch die Uhrzeit. So dass diese teilweise in der Zukunft lag und er mir dann in der folge immer ein Fehler gemeldet hat. Kann man die Uhrzeit einfach gleich mit ändern?

vielen Dank im vorraus
lork
Bitte warten ..
Mitglied: bastla
14.04.2009 um 18:15 Uhr
Hallo ms2lork!

Es sollte genügen, die Zeilen 3 und (der Ordnung halber ) 4 zu ändern:
D=Replace(Date,".","") & " " & Replace(Left(Time,5),":","") 
'D="TTMMJJJJ HHMM"
Grüße
bastla
Bitte warten ..
Mitglied: ms2lork
15.04.2009 um 14:32 Uhr
Danke hab jetzt noch die beiden Datein seperat bearbeiten lassen, weil bei der .lst-Datei kein Zeit Angabe dran ist, und funktioniert alles.

bye lork
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Microsoft
Sfirm STA Datei automatisch kopieren (1)

Frage von thomasreischer zum Thema Microsoft ...

Microsoft Office
gelöst Excel oder google Sheets automatisch aktualisieren bei neuen Werten? (14)

Frage von Stoffn zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...