Text von einem Array in einer Datei finden, wenn nicht vorhanden hinzufügen
Hallo,
Ich möchte einen Array, welches verschiedene Texte beinhaltet, mit einer FOR-Schleife durchlaufen lassen und wenn der Text nicht vorkommt soll er am ende der Datei angehängt werden. Leider funktioniert mein derzeitiger versuch nicht.
@echo off
set arrayline=aaa
set arrayline=bbb
set arrayline=ccc
set arrayline=ddd
set arrayline=eee
for /l %%a in %arrayline% do (
FIND /C /I %%a c:\test.txt
IF %ERRORLEVEL% NEQ 0 (
echo %arrayline[%%a]%
ECHO ^Text %arrayline[%%a]%>>c:\test.txt
)
)
set "arrayline=aaa
bbb
ccc
ddd
eee"
und anschließen den Zeilenumbruch entfernen, sodass die FOR-Schleife nur das set "arrayline=aaa bbb ccc ddd eee" sieht?
Danke für eure Hilfe
Ich möchte einen Array, welches verschiedene Texte beinhaltet, mit einer FOR-Schleife durchlaufen lassen und wenn der Text nicht vorkommt soll er am ende der Datei angehängt werden. Leider funktioniert mein derzeitiger versuch nicht.
@echo off
set arrayline=aaa
set arrayline=bbb
set arrayline=ccc
set arrayline=ddd
set arrayline=eee
for /l %%a in %arrayline% do (
FIND /C /I %%a c:\test.txt
IF %ERRORLEVEL% NEQ 0 (
echo %arrayline[%%a]%
ECHO ^Text %arrayline[%%a]%>>c:\test.txt
)
)
- Kann ich das Array auch so schreiben: (Übersichtshalber bei vielen Einträgen)
set "arrayline=aaa
bbb
ccc
ddd
eee"
und anschließen den Zeilenumbruch entfernen, sodass die FOR-Schleife nur das set "arrayline=aaa bbb ccc ddd eee" sieht?
- Mit enabledelayedexpansion und statt % dann ! hat es leider auch nicht funktioniert.
- Ist es besser mit einer WHILE-Schleife falls es sie in einer Batch Datei gibt?
- Oder bin ich auf dem falschen Weg und es gibt einfachere Lösungsmöglichkeiten?
Danke für eure Hilfe
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 272263
Url: https://administrator.de/contentid/272263
Ausgedruckt am: 26.11.2024 um 04:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo xyxy-yx und willkommen im Forum!
Warum nicht einfach die Texte zeilenweise in eine Textdatei schreiben und diese dann per FOR-Schleife abarbeiten - schematisch etwa so (soferne die Texte nicht bestimmte Sonderzeichen, wie etwa "&" oder ">", enthalten):
Grüße
bastla
Warum nicht einfach die Texte zeilenweise in eine Textdatei schreiben und diese dann per FOR-Schleife abarbeiten - schematisch etwa so (soferne die Texte nicht bestimmte Sonderzeichen, wie etwa "&" oder ">", enthalten):
for /f "usebackq delims=" %%i in ("D:\Deine Texte.txt") do findstr /ic:"%%i" c:\test.txt>nul || >>c:\test.txt echo %%i
bastla