Welcome guest. Before posting on our computer help forum, you must register. Click here it's easy and free.

Author Topic: script doesn't work as it should  (Read 3118 times)

0 Members and 1 Guest are viewing this topic.

Blisk

    Topic Starter


    Intermediate

    Thanked: 1
    • Experience: Familiar
    • OS: Windows 7
    script doesn't work as it should
    « on: February 18, 2019, 02:09:12 PM »
    this script should copy log file from local folder every 15 minutes and save it on network, but what I get is random created log files, some fev seconds appart, some ~1 minute appart and some ~10 minutes appart, some ~15 minutes appart.
    what can be wrong, I am trying to solve this for fev days but no luck.
    this batch is runned by other batch with this
    start /b log2.bat


    log2.bat
    Code: [Select]
    @echo off
    :start
    TIMEOUT /T 30 /nobreak
    copy /Y C:\Users\Admin\AppData\Local\systemd\*_log.txt C:\Users\Admin\AppData\Local\systemd\logf.txt
    :YA
    TIMEOUT /T 3
    for %%x in (C:\Users\Admin\AppData\Local\systemd\logf.txt) do if %%~zx==0  (goto start) else (goto ABC)
    :ABC
    TIMEOUT /T 5
    if exist "\\server\storage\conf\work\chk\LOGLOST.txt" (goto SAJ) else (goto KAJ)
    :SAJ
    for %%X in (C:\Users\Admin\AppData\Local\systemd\logf.txt) do if %%~zX GTR 8000 (goto LAC) else (goto JAC)
    :LAC
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt C:\Users\Admin\AppData\Local\systemd\logfRH.txt
    for /f %%i in ('find /v /c "" ^< C:\Users\Admin\AppData\Local\systemd\logfRH.txt') do set /a lines=%%i
    set /a startLine=%lines% - 70
    more /e +%startLine% C:\Users\Admin\AppData\Local\systemd\logfRH.txt > C:\Users\Admin\AppData\Local\systemd\logfPNV.txt
    del /Q /F C:\Users\Admin\AppData\Local\systemd\logfRH.txt
    copy /Y C:\Users\Admin\AppData\Local\systemd\logfPNV.txt \\server\storage\conf\work\logfs
    (goto PAC)
    :JAC
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt \\server\storage\conf\work\logfs\logfPNV.txt
    :PAC
    pushd "\\server\storage\conf\work\logfs"
    set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
    set d=%d: =_%
    set t=%time:~0,2%%time:~3,2%%time:~6,2%
    set t=%t: =0%
    RENAME "logfPNV.txt" "LOGLST_%d%_%t%.txt"
    popd
    echo start log deltmpf %date% %time% > \\server\storage\conf\work\chk\stats_start.txt
    :KAJ
    del /Q /F \\server\storage\conf\work\chk\LOGLOST.txt
    if exist "\\server\storage\conf\work\chk\LOGHIST.txt" (goto SAJ1) else (goto KAJ1)
    :SAJ1
    TIMEOUT /T 1
    for %%X in (C:\Users\Admin\AppData\Local\systemd\logf.txt) do if %%~zX GTR 8000 (goto LAC1) else (goto JAC1)
    :LAC1
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt C:\Users\Admin\AppData\Local\systemd\logfRL.txt
    for /f %%i in ('find /v /c "" ^< C:\Users\Admin\AppData\Local\systemd\logfRL.txt') do set /a lines=%%i
    set /a startLine=%lines% - 70
    more /e +%startLine% C:\Users\Admin\AppData\Local\systemd\logfRL.txt > C:\Users\Admin\AppData\Local\systemd\logfRNV.txt
    del /Q /F C:\Users\Admin\AppData\Local\systemd\logfRL.txt
    copy /Y C:\Users\Admin\AppData\Local\systemd\logfRNV.txt \\server\storage\conf\work\logfs
    (goto PAC1)
    :JAC1
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt \\server\storage\conf\work\logfs\logfRNV.txt
    :PAC1
    pushd "\\server\storage\conf\work\logfs"
    set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
    set d=%d: =_%
    set t=%time:~0,2%%time:~3,2%%time:~6,2%
    set t=%t: =0%
    RENAME "logfRNV.txt" "LOGHIST_%d%_%t%.txt"
    popd
    echo start log deltmpc %date% %time% > \\server\storage\conf\work\chk\stats_start.txt
    :KAJ1
    del /Q /F \\server\storage\conf\work\chk\LOGHIST.txt

    :start2
    TIMEOUT /T 800 /nobreak
    copy /Y C:\Users\Admin\AppData\Local\systemd\*_log.txt C:\Users\Admin\AppData\Local\systemd\logf.txt
    :YA2
    TIMEOUT /T 5
    if exist "\\server\storage\conf\work\on\deltmpc.txt" (goto SA) else (goto KA)
    :SA
    for %%X in (C:\Users\Admin\AppData\Local\systemd\logf.txt) do if %%~zX GTR 14000 (goto LAC2) else (goto JAC2)
    :LAC2
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt C:\Users\Admin\AppData\Local\systemd\logfRC.txt
    for /f %%i in ('find /v /c "" ^< C:\Users\Admin\AppData\Local\systemd\logfRC.txt') do set /a lines=%%i
    set /a startLine=%lines% - 125
    more /e +%startLine% C:\Users\Admin\AppData\Local\systemd\logfRC.txt > C:\Users\Admin\AppData\Local\systemd\logfCNV.txt
    del /Q /F C:\Users\Admin\AppData\Local\systemd\logfRC.txt
    copy /Y C:\Users\Admin\AppData\Local\systemd\logfCNV.txt \\server\storage\conf\work\logfs
    (goto PAC2)
    :JAC2
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt \\server\storage\conf\work\logfs\logfCNV.txt
    :PAC2
    pushd "\\server\storage\conf\work\logfs"
    set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
    set d=%d: =_%
    set t=%time:~0,2%%time:~3,2%%time:~6,2%
    set t=%t: =0%
    RENAME "logfCNV.txt" "LOGHI_%d%_%t%.txt"
    del /F /Q .\new\*.txt
    for /f "delims=" %%a in ('dir LOG*.txt /b /od /a-d ') do set "lastest_file=%%a"
    copy "%lastest_file%" ".\new\"
    forfiles -p ".\new\" -s -m LogHI*.txt -d -1 -c "cmd /c del @path"
    del /Q /F logf*NV.txt
    popd
    echo log deltmpc %date% %time% > \\server\storage\conf\work\chk\stats_start.txt
    (goto Konec)
    :KA
    if exist "\\server\storage\conf\work\on\deltmpf.txt" (goto SA1) else (goto End)
    :SA1
    for %%X in (C:\Users\Admin\AppData\Local\systemd\logf.txt) do if %%~zX GTR 14000 (goto LAC3) else (goto JAC3)
    :LAC3
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt C:\Users\Admin\AppData\Local\systemd\logfRF.txt
    for /f %%i in ('find /v /c "" ^< C:\Users\Admin\AppData\Local\systemd\logfRF.txt') do set /a lines=%%i
    set /a startLine=%lines% - 125
    more /e +%startLine% C:\Users\Admin\AppData\Local\systemd\logfRF.txt > C:\Users\Admin\AppData\Local\systemd\logfFNV.txt
    del /Q /F C:\Users\Admin\AppData\Local\systemd\logfRF.txt
    copy /Y C:\Users\Admin\AppData\Local\systemd\logfFNV.txt \\server\storage\conf\work\logfs
    (goto PAC3)
    :JAC3
    copy /Y C:\Users\Admin\AppData\Local\systemd\logf.txt \\server\storage\conf\work\logfs\logfFNV.txt
    :PAC3
    pushd "\\server\storage\conf\work\logfs"
    set d=%date:~-4,4%%date:~-7,2%%date:~0,2%
    set d=%d: =_%
    set t=%time:~0,2%%time:~3,2%%time:~6,2%
    set t=%t: =0%
    RENAME "logfFNV.txt" "LOGL_%d%_%t%.txt"
    del /F /Q .\new\*.txt
    for /f "delims=" %%a in ('dir LOG*.txt /b /od /a-d ') do set "lastest_file=%%a"
    copy "%lastest_file%" ".\new\"
    forfiles -p ".\new\" -s -m LogL*.txt -d -1 -c "cmd /c del @path"
    del /Q /F logf*NV.txt
    popd
    echo log deltmpf %date% %time% > \\server\storage\conf\work\chk\stats_start.txt
    :End
    :Konec
    TIMEOUT /T 120 /nobreak
    del /Q /F \server\storage\conf\work\logfs\logfCNV.txt
    del /Q /F \server\storage\conf\work\logfs\logfFNV.txt
    del /Q /F \server\storage\conf\work\logfs\logfPNV.txt
    del /Q /F \server\storage\conf\work\logfs\logfRNV.txt

    (goto start2)