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

Zeilen aus txt mittels Batch auslesen

Frage Entwicklung Batch & Shell

Mitglied: 65984

65984 (Level 1)

27.04.2009, aktualisiert 15:54 Uhr, 5370 Aufrufe, 3 Kommentare

hallo zusammen,

ich habe zwei probleme an denen ich nicht mehr weiter komme:

1)
mein ziel ist es aus einer beliebigen txt datei deren länge und inhalt variabel sind die beiden letzten Zeile auslesen und anschließend je einer Variablen übergeben.

Könnt ihr mir da vielleicht weiterhelfen? Wäre echt cool.


2)

Bei einem anderen Beispiel wird die letzte Zeile ausgelesen.
for /F "Tokens=*" %%i in (irgendwas.txt) do Set string=%%i
Ziel hier ist diese Zeile zu vergleichen.

Diese sieht wie folgt aus:

2009-02-08 23:00 - Backup erfolgreich geschrieben

Datum ist variable das heisst ich könnte sie mit der systemvariable %DATE% vergleichen der rest ist konstant.

allerdings bekomm ich die variable string nicht mit einem tatsächlichen string verglichen...

Der Vergleich würde folgendermaßen aussehen

letzte zeile also %string% =="%date% 23:00 - Backup erfolgreich geschrieben"


Ich hoffe ich konnte mein problem deutlich genug beschreiben und danke euch schonmal für eure hilfe

lg
Mitglied: LotPings
27.04.2009 um 12:19 Uhr
High Azubi-DL / lg

1. Dafür gibt es eigentlich den Tail Befehl (auch Windows-Ports)
Das Nachbilden in Batch ist bei einem Windows ab w2k nicht schwer.

Zeilen Zählen mit find, 2 abziehen und mit more +x oder for /f "skip=x" nur die letzten 2 Zeilen ausgeben.


2. Wenn der Anfang von String genauso wie das Datum formatiert ist, Mit der Substring Funktion eben nur den
Angfang vergleichen.
if "%String:~0,10%"=="%date%" echo Datum ist von heute

Gruß
LotPings
Bitte warten ..
Mitglied: 65984
27.04.2009 um 15:47 Uhr
danke für deine antwort lotpings

1. kannst du vllt die Code zeile posten?

2.
mein problem war das die variable in anführungszeichen gesetzt werden musste und das das Maschinendatum welches in %date% steht ein anderes format hatte wie das welches zu überprüfen galt also musste ich das auch noch irgendwie ausgeben...am ende kam das raus:

if NOT "%Backuplog%"=="%date:~6,4%-%date:~3,2%-%date:~0,2% 10:41 - Backup erfolgreich geschrieben" goto :ERROR

also 2 ist abgeschlossen... 1 allerdings nicht
Bitte warten ..
Mitglied: LotPings
27.04.2009 um 16:42 Uhr
Zitat von 65984:
danke für deine antwort lotpings

1. kannst du vllt die Code zeile posten?

Kann ich, ist mehr als eine Zeile, ich dachte allerdings DU solltest erstmal versuchen etwas mit der abstrakten Formulierung anzufangen.
01.
@echo off&setlocal EnableDelayedExpansion 
02.
set Input=Hosts 
03.
:: Zeilen zählen 
04.
for /F %%A in ('find /C /V "" ^<%Input%') do set Lines=%%A 
05.
:: Rechnen 
06.
set /A Lines-=2 
07.
:: Ausgeben auf den Bildschirm 
08.
More +%Lines% <%Input% 
09.
:: Ausgeben  in Variablen 
10.
set cnt=0 
11.
for /F "delims=" %%A in ('More +%Lines% ^<%Input%') Do set /A "cnt+=1"&set "Var!cnt!=%%A" 
12.
set Var
Only "Braintested"

Gruß
LotPings
Bitte warten ..
Ähnliche Inhalte
PHP
gelöst TXT Datei auslesen und bestimmte Zeilen in Variable setzen (11)

Frage von 126594 zum Thema PHP ...

Batch & Shell
gelöst Zeiten in .txt datei auslesen und Differenz berechnen (14)

Frage von meex87 zum Thema Batch & Shell ...

Batch & Shell
gelöst Variable per Batch auslesen und in Registry schreiben (1)

Frage von Zendara zum Thema Batch & Shell ...

Batch & Shell
gelöst Fenstertitel von anderen Tasks per batch auslesen (3)

Frage von NetMare zum Thema Batch & Shell ...

Neue Wissensbeiträge
Batch & Shell

Batch - ein paar Basics die man kennen sollte

Tipp von Pedant zum Thema Batch & Shell ...

Microsoft

Restrictor: Profi-Schutz für jedes Window

(6)

Tipp von AlFalcone zum Thema Microsoft ...

Batch & Shell

Batch zum Zurücksetzen eines lokalen Profils

Tipp von Mr.Error zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft Office
Saubere HTML aus Word-Dokument (16)

Frage von peterpa zum Thema Microsoft Office ...

Router & Routing
ASUS RT-N18U mit VPN Client hinter Fritzbox - Portforwarding (15)

Frage von marshall75000 zum Thema Router & Routing ...

Hosting & Housing
gelöst Webserver bei WIX, aber DNS Server wo anders (9)

Frage von laster zum Thema Hosting & Housing ...