Hirdetés

Keresés

Új hozzászólás Aktív témák

  • BatchMan
    senior tag

    nem kötekedni szeretnék vele, de szerintem épp így lett nem egyértelmű a kód...

    Ha /d-vel indítod a start-ot és macskakörmözöl akkor gyönyörűen elkezeli a szóközöket és egyéb lüke karaktereket, míg ha a usernek volt egy "Programok" könyvtára a D gyökérben mielőtt kitette oda az első telepített progiját akkor máris borul a ~1...

    Mélyen egyet értek, de én dir /x -el mindig lekérdezem a 8-betüs nevet, mielőtt hivatkozom rá. Aki ilyen batchet ír annak ez nem lehet gond. Az igaz, hogy ennek módszernek a hordozhatósága gyengébb, de nem kell figyelni a macskakörmökre, /d -kre. Egy alternatíva.

  • BatchMan
    senior tag

    Egy batch módosítását próbálom elkövetni, hogy bizonyos időközönként (legyen fél óra - 1800s) futtassa a scriptet. Az eredeti kód:

    @echo off
    color 17
    taskkill /F /IM Origin.exe
    "D:\Program Files (x86)\Origin\Origin.exe"
    pause

    Letöltöttem a sleep.exe segédprogramot innen.

    Ahová jutottam:

    @echo off
    color 17
    :label
    taskkill /F /IM Origin.exe
    "D:\Program Files (x86)\Origin\Origin.exe"
    sleep 1800
    goto label

    A baj, hogy csak egyszer fut le (rendszergazdaként futtatom, 64 bites W8 Pro), persze rövid időközökkel próbáltam ki. A sleep.exe ugyanazon mappában van, mint a .bat fájl.

    1. echo off csak akkor javasolt, ha tényleg zavarnak a hibaüzenetek. Különben lehet hasznos info a kiírt üzenetekben. Sőt szoktam ilyet beszúrni: echo "origin elindult"
    2. Bár W8 batch-csel nincs tapasztalatom, szakirodalom szerint ([link] a TIMEOUT parancs lett kifejlesztve erre Win7 óta. A ping-es alternatíva több helyen előjön.
    3. A "D:\Program Files (x86)\Origin\Origin.exe" helyett a
    D:\Progra~1\Origin\Origin.exe
    formát használnám félreértések helyett (ha a W8 ismeri még 8-karakteres figurát)

    good luck!

Új hozzászólás Aktív témák