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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 150602
Url: https://administrator.de/contentid/150602
Printed on: April 26, 2024 at 14:04 o'clock
4 Comments
Latest comment
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