Fehler bei For schleife, prozentprozent i kann syntaktisch nicht verwendet werden
Hi@All,
Ziel:
- Textdatei suchen
- wenn gefunden Zeichenkette suchen
- wenn gefunden Alles was dahinter in der Zeile Steht mit vorgegebenen Wert vergleichen
- wenn Wert korrekt, dann nach nächster Zeichenkette suchen
- alles rauskopieren was dort hinter dem "=" steht und in eine Variable abspeichern
1. Schritt:
Da ich aber alle Unterverzeichnisse durchlaufen muss pack ich das in eine Schleife:
Hier sagt er mir ständig ich kann kann %%i syntaktisch nicht verwenden.
%%i ist doch nur die Variable in die das Ergenis geschrieben wird und 2*% ist doch korrekt oder?
VG
Ziel:
- Textdatei suchen
- wenn gefunden Zeichenkette suchen
- wenn gefunden Alles was dahinter in der Zeile Steht mit vorgegebenen Wert vergleichen
- wenn Wert korrekt, dann nach nächster Zeichenkette suchen
- alles rauskopieren was dort hinter dem "=" steht und in eine Variable abspeichern
1. Schritt:
'findstr "AppName" "c:\test\verzeichnis1\test.ini" -> liefert mir die Zeile
Da ich aber alle Unterverzeichnisse durchlaufen muss pack ich das in eine Schleife:
for /f "delims=," %%i in ('findstr "AppName" "test.ini"') do @set ln=%%i
echo %ln%
Hier sagt er mir ständig ich kann kann %%i syntaktisch nicht verwenden.
%%i ist doch nur die Variable in die das Ergenis geschrieben wird und 2*% ist doch korrekt oder?
VG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 183322
Url: https://administrator.de/forum/fehler-bei-for-schleife-prozentprozent-i-kann-syntaktisch-nicht-verwendet-werden-183322.html
Ausgedruckt am: 17.04.2025 um 00:04 Uhr
7 Kommentare
Neuester Kommentar
Hallo H41mSh1C0R!
Wenn Du übrigens Unterverzeichnisse durchlaufen und in allen gefundenen Dateien namens "test.ini" nach "AppName" suchen willst, müsste das eher so aussehen:
wobei in diesem Fall jener Teil der gefundenen Zeilen, der vor dem ersten Komma steht, als %%a (innerhalb der Schleife) zur Verfügung stünde ...
Besser nachvollziehbar wird Dein Vorhaben mit Beispieldaten ...
Grüße
bastla
Hier sagt er mir ständig ich kann kann %%i syntaktisch nicht verwenden.
Du führst die Zeile doch als Bestandteil eines Batches aus? Falls nicht (also bei Direkteingabe in die CMD-Shell) ist nur ein Prozentzeichen zu verwenden ...Wenn Du übrigens Unterverzeichnisse durchlaufen und in allen gefundenen Dateien namens "test.ini" nach "AppName" suchen willst, müsste das eher so aussehen:
for /f "delims=" %%i in ('dir /s/b "c:\test\verzeichnis\test.ini"') do for /f "delims=," %%a in ('findstr "AppName" "%%i"') do echo %%a
Besser nachvollziehbar wird Dein Vorhaben mit Beispieldaten ...
Grüße
bastla
Hallo H41mSh1C0R!
Du meinst mit
Abgesehen davon könnte ich mir als einzigen Grund für "bergeweise cmd Instanzen" nur vorstellen, dass Du die Batchdatei ausgerechnet "findstr.cmd" genannt hättest ...
Grüße
bastla
Du meinst mit
Wenn ich das so in die CMD packe
eine cmd-Datei, nehme ich an - dann müsste es aber doch auch vorher schon Code-Zeilen geben (oder existiert in Deiner Umgebung auf jedem Rechner bereits eine Variable %DIR%?) - poste die doch bitte auch ...In der ersten for Schleife muss doch nur der Startpfad rein also indem Fall der Ordner indem die Unterordner mit den PC spezifischen Zeichenketten drinnen stehen.
Was in die erste Schleife rein sollte, kannst Du ja meinem Vorschlag entnehmen (und sag nicht, auch die ini-Dateien hätten noch unterschiedliche Namen) ...Abgesehen davon könnte ich mir als einzigen Grund für "bergeweise cmd Instanzen" nur vorstellen, dass Du die Batchdatei ausgerechnet "findstr.cmd" genannt hättest ...
Grüße
bastla
Hallo H41mSh1C0R!
Ich würde das eher so schreiben:
und dem "
Grüße
bastla
Ich würde das eher so schreiben:
@echo on & setlocal
SET "DIR=C:\Users\Nutzer\Desktop\Appz\010_installShieldProdukt"
SET "FILE=setup.ini"
SET "AppName=Name"
SET "GUID=test"
for /f "delims=" %%i in ('dir /s/b "%DIR%\%FILE%"') do for /f "delims=," %%a in ('findstr "%AppName%" "%%i"') do echo %%a
findstr
" ev noch ein "/i
" spendieren ...Grüße
bastla