logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Programowanie batchy - modyfikowanie pliku w czasie jego pracy.

dawox99 20 Cze 2016 22:07 633 2
REKLAMA
  • #1 15757343
    dawox99
    Poziom 13  
    Posty: 144
    Pomógł: 7
    Ocena: 14
    Witam. Chciałem zapytać jak sprawić aby program w rozszerzeniu .bat po dojściu do pewnego momentu skryptu "modyfikował" samego siebie - czyli np. zmieniał jakąś zmienną typu "zapis_1" z "0" na "1" i zapisywał siebie, że przy następnym uruchomieniu ta zmienna zostanie w nim. Wiem że da się to niby zrobić w sposób:
    
    echo Coś tam coś tam >> coś.bat
    echo coś tam coś tam >> coś.bat
    


    ale to by mi wyszło jakieś 20x dłużej niż zapewne taki skrypt (o ile w ogóle jest możliwy). Proszę o odpowiedź i z góry przepraszam jeśli nie ten dział, ale kiedyś pytałem tutaj o coś podobnego i nie było problemu.

    //edit: Zauważyłem że dało by też rade zrobić program "nadpisujący" ale nie wiem jak zrobić żeby nadpisywał tylko daną linijkę kodu. Albo on zapisuje tylko na końcu kodu, albo nadpisuje cały kod co powoduje jego usunięcie i pozostanie tylko linijki kodu która ma zostać nadpisana.
  • REKLAMA
  • #2 15759156
    Prot
    Poziom 38  
    Posty: 2580
    Pomógł: 574
    Ocena: 297
    dawox99 napisał:

    jak sprawić aby program w rozszerzeniu .bat po dojściu do pewnego momentu skryptu "modyfikował" samego siebie - czyli np. zmieniał jakąś zmienną typu "zapis_1" z "0" na "1"


    Można "po dojściu do pewnego momentu" wykorzystać polecenie set do ustawienie wartości zmiennej.
  • #3 15764828
    penknife
    Poziom 21  
    Posty: 294
    Pomógł: 47
    Ocena: 58
    nie lepiej na początku skryptu(odczyt wartości zmiennej z pliku, jeśli ten isnieje):
    Kod: Dos
    Zaloguj się, aby zobaczyć kod

    a przy zmianie zapis wartości do pliku za pomocą:
    Kod: Dos
    Zaloguj się, aby zobaczyć kod
REKLAMA