Top-Themen

Aktuelle Themen (A bis Z)

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

Text in Datei auslesen, vergleichen und evtl. ersetzen

Mitglied: Stev

Stev (Level 1) - Jetzt verbinden

11.11.2008, aktualisiert 19:58 Uhr, 3039 Aufrufe, 1 Kommentar

Hallo,

habe folgende Problemstellung:
In einem Verzeichnis werden automatisch Dateien geschrieben.
Diese beinhalten in Zeile 1 in der Spalte 91 bis 99 ein Datum (Datum 1)
Ich möchte dieses Datum per Script auslesen und dann mit dem Datum in Zeile 3 Spalte 112 - 120 (Datum 2) vergleichen.

Ist Datum 2 älter als Datum 1 dann ersetze Datum 2 mit Datum 1.

Das Datumsformat ist ddmmyyyy. Ich würde dieses Datum in drei Variablen einlesen und dann Rückwarts wieder zusammen setzen:
Datum_1=Jahr_1*10000+Monat_1*100+Tag_1
Datum_2=Jahr_2*10000+Monat_2*100+Tag_2

So wäre mein Ansatz.......

Hat jemand eine Idee, wie ich das lösen kann ?
Mitglied: bastla
11.11.2008 um 19:58 Uhr
Hallo Stev!

Da Du ja ohnehin die einzelnen Datumsbestandteile als Teilstrings benötigt, kannst Du das Datum auch ohner Rechnerei gleich wieder zusammensetzen, zB
01.
@echo off & setlocal 
02.
set "bak=.bak" 
03.
for %%i in (D:\Dateien\*.txt) do call :ProcessFile "%%i" 
04.
goto :eof 
05.
 
06.
:ProcessFile 
07.
set /p Zeile1=<%1 
08.
set Zeile3= 
09.
for /f "usebackq skip=2 delims=" %%i in (%1) do if not defined Zeile3 set "Zeile3=%%i" 
10.
set Datum1=%Zeile1:~94,4%%Zeile1:~92,2%%Zeile1:~90,2% 
11.
set Datum3=%Zeile3:~115,4%%Zeile3:~113,2%%Zeile3:~111,2% 
12.
if %Datum1% leq %Datum3% goto :eof 
13.
 
14.
set Zeile2= 
15.
for /f "usebackq skip=1 delims=" %%i in (%1) do if not defined Zeile2 set "Zeile2=%%i" 
16.
move %1 "%~1%bak%" 
17.
>%1  echo %Zeile1% 
18.
>>%1 echo %Zeile2% 
19.
>>%1 echo %Zeile3:~,111%%Zeile1:~90,8%%Zeile3:~119% 
20.
>>%1 more +3 "%~1%bak%" 
21.
REM del "%~1%bak%" 
22.
goto :eof
Da Deine Beschreibung hinsichtlich der Positionen nicht ganz eindeutig sind (die Spalten 91 - 99 umfassen 9 Zeichen), bin ich davon ausgegangen, dass die Anfangsposition korrekt ist (und daher vom Zeilenanfang bis zur Angabe des Wertes für dem "Tag" 90 Zeichen zu überspringen sind).

Da nicht gleichzeitig aus der Datei gelesen und in sie geschrieben werden kann, entsteht als "Abfallprodukt" eine Sicherungskopie (mit dem Zusatz ".bak") - falls diese nicht benötigt wird, das "REM" vor dem Löschbefehl entfernen.

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Auslesen einer Datei mit einem Anführungszeichen im Text

Frage von c20082005Batch & Shell1 Kommentar

Hallo zusammen, ich habe ein Problem, das ich auch nach einiger Recherche im Internet nicht gelöst bekomme: Ich habe ...

Microsoft Office

BMP Bild mit Text aus Word Datei ersetzen

gelöst Frage von Timo0oMicrosoft Office16 Kommentare

Halli Hallo, ich habe eine kurze Frage, vielleicht kann mir dadurch ja jemand viel Arbeit ersparen! Undzwar habe ich ...

Batch & Shell

Auslesen und Vergleichen Zweiter CSV Dateien Powershell

gelöst Frage von HainoonBatch & Shell7 Kommentare

Hallo zusammen, ich arbeite im Moment an einem Script zum auslesen und vergleichen von Usern in der AD. Das ...

Microsoft Office

Text in mehreren .docx suchen und ersetzen

gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Ich hoffe auf Antworten von Leuten, die genau das per Tool schon mal gemacht haben: Selektiere mehrere ...

Neue Wissensbeiträge
Server-Hardware
HP iLO ist gefährdet (iLO 4))
Tipp von AlFalcone vor 2 StundenServer-Hardware

Gemäss Twitter und Heise gibt es eine Angriffsmöglichkeit auf iLO iLO ist gefährdet Copyright © und alle Rechte liegen ...

CMS
Erneut kritische Zero-Day-Lücke in Drupal
Tipp von Reini82 vor 11 StundenCMS

Laut einem Bericht auf t3n gibt es eine Schwere Sicherheitslücke in Drupal die auch schon ausgenutzt wird. Betroffen sind ...

Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 1 TagSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 1 TagWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

Heiß diskutierte Inhalte
Windows Server
Alten DC entfernen
gelöst Frage von smartinoWindows Server27 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...

Ausbildung
Wie gelingt ein guter Einstieg in die FiSi-Ausbildung? (Umschulung)
Frage von SiAnKoAusbildung27 Kommentare

Schönen guten Tag, ich bin SiAnKo und habe seit dem 1.04.2018 eine Umschulung als FiSi angefangen. Ich möchte natürlich ...

Batch & Shell
Mit Powershell den Inhalt einer Excel mit einer Text Datei abgleichen
gelöst Frage von Bommi1961Batch & Shell21 Kommentare

Hallo zusammen, ich muss den Inhalt einer Excel Datei (Mappe1) mit dem Daten einer Text Datei abgleichen. Die Daten ...

Router & Routing
Subnetzmaske vergrößern
gelöst Frage von groovesurferRouter & Routing18 Kommentare

Hallo, hat jemand schonmal getestet was passiert, wenn man die Subnetzmaske bei laufendem Betrieb (wenn user im Netzwerk verbunden ...