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

mit batch in txt lesen und schreiben

Frage Entwicklung Batch & Shell

Mitglied: ppmk22

ppmk22 (Level 1) - Jetzt verbinden

03.03.2008, aktualisiert 05.03.2008, 6468 Aufrufe, 8 Kommentare

Hallo Team

Möchte eine batch-Datei erstellen die aus einer txt eine variable holt 1 dazuzählt wieder rein schreibt und speichert.
Habe heute schon viele Beiträge durchgearbeitet, aber leider nichts verstanden. Bin mir sicher, das man anhand der Beiträge hier im Forum so was zusammen gebastelt bekommt. Ich habe es aber nicht hin bekommen, da ich davon keinen Plan habe.
Und um klein anzufangen meine erste Frage.
Ich habe eine Datei E:\log.txt
Inhalt:
starts = 98
fehler = 12
verbindungen = 25

Nun würde ich gerne die mittels batch die Zahlen aus geben.

@echo off
echo Es waren %zahl% starts
echo Es waren %zahl% fehler
echo Es waren %zahl% verbindungen
pause

Wie sollte der richtige Code aussehen?

Gruß
Petra
Mitglied: miniversum
03.03.2008 um 19:05 Uhr
Das müste so gehen:
@echo off
FOR /F "tokens=3 delims= " %%i in ('findstr /i /b "starts =" "E:\log.txt"') do set "starts=%%i"
FOR /F "tokens=3 delims= " %%i in ('findstr /i /b "fehler =" "E:\log.txt"') do set "fehler=%%i"
FOR /F "tokens=3 delims= " %%i in ('findstr /i /b "verbindungen =" "E:\log.txt"') do set "verbindungen=%%i"
echo Es waren %starts% starts
echo Es waren %fehler% fehler
echo Es waren %verbindungen% verbindungen
pause

miniversum
Bitte warten ..
Mitglied: ppmk22
03.03.2008 um 19:49 Uhr
Vielen Dank miniversum

Wie würde denn jetzt der Code sein, um den Zähler von starts um einen zu erhöhen?

Gruß Petra
Bitte warten ..
Mitglied: miniversum
03.03.2008 um 20:07 Uhr
das wäre dann
set /a starts=starts+1
oder
set /a starts+=1
Näheres kannst du in der Hilfe vom set befehl nachlesen (set /?)
Bitte warten ..
Mitglied: ppmk22
03.03.2008 um 20:17 Uhr
Okay, danke.

Und wie bekomme ich nun die 99 in die Datei?

Das geht doch eleganter als so, oder?

echo > E:\log.txt starts = %starts%
echo >> E:\log.txt fehler = %fehler%
echo >> E:\log.txt verbindungen = %verbindungen%

Wobei das auch nicht richtig hin haut.

Gruß Petra
Bitte warten ..
Mitglied: miniversum
03.03.2008 um 21:23 Uhr
Nicht ganz.
So gehts:
echo starts = %starts% > E:\log.txt
echo fehler = %fehler% >>E:\log.txt
echo verbindungen = %verbindungen% >>E:\log.txt
Wobei das halt wirklich die einfachste Lösung ist und auch nur wenn das alle Zeilen sind die in der Datei stehen. Wenn du wirklich Zeilen einfügen willst wird das dann etwas aufwendiger. Ist aber auch möglich.
Bitte warten ..
Mitglied: ppmk22
04.03.2008 um 00:36 Uhr
Wie würde den die bessere Lösung aussehen?

Gruß Petra
Bitte warten ..
Mitglied: Biber
04.03.2008 um 07:57 Uhr
Moin ppmk22,

suche mal mittels der Forumssuche nach "Zeile in txt einfügen" oder ähnlichem.
Dann findest Du einige Beispiele.
Ein Nettes ist Batch - String suchen und in der Datei Zeile mit berechneten Inhalt einfügen.

Da Batch bzw. die CMD.exe grundsätzlich zeilenorientiert arbeitet und außerdem nicht "in" einer Datei ändern kann (sondern immer nur aus einem Kanal den Input lesen und in einen anderen den Output schreiben), deshalb solltest Du zum Texte ändern nur dann Batch verwenden, wenn nun gar nichts anderes zur Hand ist.
Unproblematisch ist immer nur das komplette Neu-Schreiben einer Datei oder das Löschen/Hinten-Anfügen von Zeilen.
Insbesondere wenn Deine Datei (zumindest in der Version 2.0) den Aufbau einer Windows *.INI-Datei haben wird, dann verwende möglichst früh einen der vielen Freeware INI-Datei-Bearbeiter.

Oder lass uns hier im Forum einen zusammenschroten - aber dann mit VBS statt mit native Batch.

Grüße
Biber
Bitte warten ..
Mitglied: ppmk22
05.03.2008 um 17:29 Uhr
Danke für alles

Gruß
Petra
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
CMD-Batch hilfe: Dateiname zu txt (2)

Frage von Syscore64 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Microsoft
Ordner mit LW-Buchstaben versehen und benennen (19)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...