Osobnik posiadający mail budzik61_at_poczta.o.n.e.t.pl.nie.spam.oj napisał(a) w poprzednim odcinku co następuje:
>>> Dlaczego tak się dzieje? Bo tak. Ktoś widocznie uznał, że to ma być
>>> skok poza strukturą/kontekstem i kończyć działanie pętli. Zamiast
>>> GOTO możesz spróbować użyć CALL. Jako skok do podprocedury, a więc
>>> instrukcja strukturalna, powoduje zachowanie kontekstu pętli. Z tym,
>>> że podprocedura, to nie jest do końca to, czego potrzebujesz. Możesz
>>> spróbować użyć kolejnego fora, np. in (1,1,1) i w nim dopiero
>>> umieścić if i goto, może wtedy wyjdzie tylko z tej wewnętrznej pętli.
>>> Albo przepisz te swoje skrypty na PowerShell i nie będziesz musiał
>>> się męczyć z takimi kruczkami cmd.exe.
>>>
>>
>> dzięki Grzegorz, spróbuje z tym dodatkowym forem bo o tym w sumie nie
>> pomyślałem.
>>
> For w forze nie pomógł, ale pomogło przepisanie felernego fragmentu do
> innego pliku bat i wywołanie go z bata głównego.
> Wszystko smiga az miło.
> Dzięki za podpowiedź.
a jednak nie...
Przy takiej konstrukcji bat po wyjściu z pętli for konczy działanie,
zamiast wykonywac kolejne instrukcje. A ze ostatnia instrukcja jest %0 to
dodatkowo nie uruchamia ponownie całego bata.
A jeszcze z dodatkowych dziwnych zachować - zapomina o ustawionym echo off
i po kazdym odwolaniu do innego bata trzeba echo off dac od nowa.
A jest jakis inny sposób cofania się?
Cos w stylu repeat until albo modyfikacja zmiennej sterującej pętlą for?
-- Pozdrawia... Budzik b_ud_zi_k_6_1 na poczta kropka onet kropka pl (adres antyspamowy, usuń także "_") "Obdarowany mówi dziękuję, a w duchu myśli - jeleń!" Richard FishReceived on Sat 06 Apr 2013 - 00:05:02 MET DST
To archiwum zostało wygenerowane przez hypermail 2.2.0 : Sat 06 Apr 2013 - 00:42:00 MET DST