Moim celem jest porównanie dwóch plików wiersz po linii i przechwycenie zmian. Do tego używam dwóch zagnieżdżonych pętli. Utknąłem z hamowaniem wewnętrznej pętli w pewnym stanie.Jak przerwać pętlę wewnętrzną w skrypcie wsadowym z pętlą zagnieżdżoną
Używam etykiety poza wewnętrzną pętlą, aby ją złamać, ale nie działa. Przechodzi do etykiety i kończy również zewnętrzną pętlę.
@ echo off
SETLOCAL EnableDelayedExpansion
for /F "skip=8 tokens=* delims=." %%a in (sample.txt) do (for /F "skip=8 tokens=* delims=." %%b in (test.txt) do (if %%a==%%b (goto :next) else (echo %%a)
)
: Next
echo out of inner loop
)
Ktoś może pomóc ....?
to również robi to samo. jeśli warunek jest prawdziwy, to będzie goto etykieta obok, a następnie obie pętle się skończy. Moim celem jest, aby po dotarciu do następnej etykiety ponownie przejść do pierwszej pętli i sprawdzić to samo dla następnej wartości. W tym przypadku sprawdzi tylko 1. wartość. –
Nie, to powinno zadziałać, spróbuj spojrzeć na moją próbkę. – jeb
Wygląda na to, że OP chciał, aby przy włamywaniu na przykład 'X' w wewnętrznej pętli przesunąłby się do następnej wartości w zewnętrznej pętli i rodzaju wznowienia wewnętrzna pętla z 'X'. Mam nadzieję, że PO poprawi mnie, jeśli się mylę. –