Re: Bat - dziwne zachowanie

Autor: Budzik <budzik61_at_poczta.o.n.e.t.pl.nie.spam.oj>
Data: Tue, 9 Apr 2013 08:58:05 +0000 (UTC)
Message-ID: <09042013.6C9393C0@budzik61.poznan.pl>
Content-Type: text/plain; charset=iso-8859-2

Osobnik posiadający mail Dominik.Alaszewski_at_gazeta.pl.invalid napisał(a) w poprzednim odcinku co następuje:

>>> Nic nie zrozumiałem. Modyfikujesz plik BAT w czasie jego działania?
>>> Co w ogóle rozumiesz przez refresh? Jak ten kod ma działać w teorii
>>> a jak działa w praktyce?
>>
>> Tak, modyfikuje w czasie działania.
>
> Ale wiesz, samomodyfikujący się kod dobrze sprawdza się jedynie
> przy pisaniu wirusów ;-)
>
:)

Jednakze (zapomnijmy na razie o sammodyfikowaniu) chciałbym wiedzieć jak to
działa.

Uruchamiam skrypt bat. Rozumiem ze on wczytuje sie do pamieci i działa.
Modyfikuje treść bat. W jaki sposób modyfikacja nakłada się na działający
skrpyt? Wydawałoby się, że to są dwie niezależne instancje.

Druga sprawa - dlaczego w podanym kodzie nie działa uruchomienie kolejnej
petli poprzez samowywołanie swojej nazwy parametrem %0?

Bo np. taki bat dziala w ten sposób bez problemu (uruchomiony z
parametrem):

@echo off
set /a a=%1+1
@echo %a%

%0 %a%

i wykonuje sie w koło dodajac cały czas 1. A po zmianie treści pliku BAT na
+2 pieknie zaczyna dodawac +2 czyli nowa petla działa juz według nowego
kodu.

> Ja bym spróbował zrobić co trzeba przez warunki/pętle, a jak za mało
> narzędzi to zmienił język (na AutoIt czy inny PowerShell).
>

-- 
Pozdrawia... Budzik
b_ud_zi_k_6_1 na poczta kropka onet kropka pl  (adres antyspamowy, usuń także "_")
"Błędy człowieka szlachetnego są jak zaćmienie Słońca lub Księżyca.
Wszyscy je widzą." - Konfucjusz
Received on Tue 09 Apr 2013 - 11:00:02 MET DST

To archiwum zostało wygenerowane przez hypermail 2.2.0 : Tue 09 Apr 2013 - 11:42:00 MET DST