Bat-Datei erstellen um damit zahlen aus datein zu kopieren und in eine .txt schreiben
Hallo. Ich bin neu hier und kenn mich noch nicht so mit bat-programierung aus. Hoffe das mit hier jemand helfen kann?
Hier meine Frage:
Habe den Ordner "Beispiel". In diesem sind mehrere Unterordner mit Namen AA, AB, AC, AD, AE usw.
In jedem dieser Unterordner ist eine Datei "test.ini" drin. Innerhalb dieser "test.ini" steht in der 10.Zeile "Terminal = 10" (Jeder Unterordner (AA, AB usw.) hat dort eine andere Nr.)
Möchte nun eine Bat-Datei erstellen, die nur diese Nr. ausliest und in ein Textdokument einfügt.
Diese sollte dann so aussehen:
AA - 10
AB - 15
AC - 18
usw.
Danke
husana
Hier meine Frage:
Habe den Ordner "Beispiel". In diesem sind mehrere Unterordner mit Namen AA, AB, AC, AD, AE usw.
In jedem dieser Unterordner ist eine Datei "test.ini" drin. Innerhalb dieser "test.ini" steht in der 10.Zeile "Terminal = 10" (Jeder Unterordner (AA, AB usw.) hat dort eine andere Nr.)
Möchte nun eine Bat-Datei erstellen, die nur diese Nr. ausliest und in ein Textdokument einfügt.
Diese sollte dann so aussehen:
AA - 10
AB - 15
AC - 18
usw.
Danke
husana
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 150602
Url: https://administrator.de/forum/bat-datei-erstellen-um-damit-zahlen-aus-datein-zu-kopieren-und-in-eine-txt-schreiben-150602.html
Ausgedruckt am: 28.04.2025 um 23:04 Uhr
4 Kommentare
Neuester Kommentar
Hallo husana und willkommen im Forum!
Soferne die Zeile 10 die einzige Zeile ist, die mit "Terminal = " beginnt, könnte das (ungetestet) so gehen:
Mit dem ersten "
Infos zu den Befehlen erhältst Du mit "Befehl /?", zB
[Edit] Mit %%~nxi sichergestellt, dass nur der Ordnername in die Liste geschrieben wird. [/Edit]
Grüße
bastla
Soferne die Zeile 10 die einzige Zeile ist, die mit "Terminal = " beginnt, könnte das (ungetestet) so gehen:
@echo off & setlocal
set "Ordner=D:\Beispiel"
set "Liste=D:\Textdokument.txt"
del "%Liste%" 2>nul
for /d %%i in ("%Ordner%\*.*") do if exist "%%i\test.ini" for /f "tokens=3" %%a in ('findstr /b /c:"Terminal = " "%%i\test.ini"') do >>"%Liste%" echo %%~nxi - %%a
for
" werden alle Unterordner (die dann als %%i zur Verfügung stehen) abgegrast, und das zweite "for
" zerlegt die gefundene Zeile anhand des Standardtrennzeichens "Leerzeichen" und liefert den 3. Bestandteil ("token") als %%a ...Infos zu den Befehlen erhältst Du mit "Befehl /?", zB
findstr /?
Grüße
bastla

Hallo Bastla,
findstr kann doch auch rekuriv suchen, wäre dies nicht einfacher:
Gruß
LotPings
findstr kann doch auch rekuriv suchen, wäre dies nicht einfacher:
@echo off & setlocal
set "Ordner=D:\Beispiel"
set "Liste=D:\Test\Textdokument.txt"
Pushd %Ordner%
del "%Liste%" 2>nul
for /F "tokens=1-4 delims=\:=" %%A in ( 'findstr /S /B /C:"Terminal = " test.ini ' ) Do >>"%Liste%" Echo.%%A -%%D
PopD
Gruß
LotPings