Hirdetés

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

  • csaszizoltan
    csendes tag

    Sziasztok!

    Egy olyan batch file-ra lenne szükségem, ami értesítést küld, ha adott könyvtárba file kerül.
    (Szerveren egy könyvtárba kerülnek fel a faxon beérkezett, PDF-be mentett adatok, de ezek néha elkerülik a figyelmünket. Semmi extra elvárás nincs, csak jelezzen új beérkezés esetén).

    Első körben arra gondoltam, számlálhatná a fileokat és változás esetén jelez. De ha két számlálási ciklus között valaki esetleg töröl egy régebbit, de beérkezik egy új, akkor arról nem fog jelezni.
    Nem tudom, hogy módosítás dátumával lehet valamit kezdeni - pl. aznapi dátummal érkező file-ok esetén dobjon egy ablakot/emailt/csipogjon, mindegy.

    Van erre lehetőség?
    Próbáltam keresni, bár nem egyszerű, így ha már volt hasonlóról szó, nekem annak a hozzászólásnak a linkje, száma is elég (vagy hogy nagyjából mikori hozzászólások környékén kutakodjak).

    Köszi előre is.

    Szerk:
    Sőt, jobban belegondolva (ha az egyszerűbb), az is elég, ha PDF kiterjesztéssel file-t érzékel, akkor dob egy jelzést. Mivel utána úgyis áthelyezzük a beérkezett file-okat a megfelelő könyvtárakba.

    Windows 7 sajátosságok vannak benne (Chrome path)
    Magyar rendszer szükséges a helyes ISO formátumú dátum idő sorrend érdekében.
    Chrome-ot indít a pdf-fel vagy egy tabot ha már fut a chrome, szerintem Firefox is tudja a pdf-et megnyitni, de nem néztem utána.
    Lehetséges sajnos lyuk ebben a megoldásban ( A For ciklus után, de még a SET STAMPTIME előtt érkezik a pdf és közben percváltás történik)
    A Timeout parancsban a 120 azt jelenti, hogy 120 másodpercig vár, vagyis az egész bat file ennyi időnként vizsgál újra, feltétlenül átírandó a kedvelt értékhez (de nagyobb legyen mint 1 perc a helyes egyszeri értesítés miatt).
    Az :ERTESITES részben kicserélhető saját megoldásra a Chrome indítás helyett (az :ERTESITES és GOTO :EOF sor nem törlendő, csak a Chrome indítása helyettesítendő)

    @ECHO OFF
    :LOOP
    SetLocal EnableDelayedExpansion
    SET STAMPTIME="%DATE% %TIME%"
    SET STAMPTIME=%STAMPTIME:~0,18%"
    TIMEOUT /T 120 /NOBREAK
    FOR /R %%A IN (*.pdf) DO (
    SET FILETIME="%%~tA"
    IF %STAMPTIME% LEQ %FILETIME% CALL :ERTESITES "%%A" %FILETIME%
    )
    EndLocal EnableDelayedExpansion
    GOTO :LOOP
    GOTO :EOF

    :ERTESITES
    %USERPROFILE%\AppData\Local\Google\Chrome\Application\chrome.exe %1
    GOTO :EOF

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