Windows脚本按日期文件名统计日志行数

@echo off
rem DataServer原始数据日志行数统计脚本,by Kyle 2018
setlocal enabledelayedexpansion
rem echo ==================LineCounter==================
set logPath=D:\Server\OriginalData
set nameb=file_server
set named=
set datalog=D:\Server\LineCounter\Logs\Linecount.txt

rem echo !date!!time!
set cm=!TIME:~4,1!
rem echo cm等于!cm!

if !cm! equ 0 (
rem echo 0=10秒后统计...
choice /t 10 /d y /n >nul

if !cm! equ 5 ( 
rem echo 5=10秒后统计...
choice /t 10 /d y /n >nul
)

call :getFileName

rem set fn=plg_spire_server0_!date:~0,4!!date:~5,2!!date:~8,2!!TIME:~0,2!!TIME:~3,1!!mm!
set fname=!logPath!\!nameb!_!named!
rem echo fname=!fname!

if exist !fname! ( 
    for /f "tokens=2,3 delims= " %%a in ('find /v "" /c !fname!') do echo %%a%%b >> !datalog!
    echo !fname! 统计完成
) else (
    echo !fname! 不存在 
)
 
goto :eof

:getFileName
echo wscript.echo dateadd("n",-5,now)>a.vbs
rem 注意月份和日期是一位前面不会补0 
for /f "tokens=1-6 delims=//: " %%a in ('cscript -nologo a.vbs') do (
rem echo %%a-%%b-%%c-%%d-%%e
set y=%%a
set m=%%b
set d=%%c
set h=%%d
set n=%%e
)

if !m! lss 10 ( set m=0!m!)
if !d! lss 10 ( set d=0!d!)
if !h! lss 10 ( set h=0!h!)

set nlen=0

for /f "delims=" %%a in ('cmd/u/cecho !n!^|more')do set/a nlen+=1

if !nlen!==2 (

set /a nb = !n:~0,1!

set /a ne = !n:~1,1!

rem echo nb=!nb!

rem echo ne=!ne!

if !nb!==0 (set /a n = !ne!)

)

set /a d1= !n!/10
set /a d2= !n!"%%"10
rem echo d1=!d1!
rem echo d2=!d2!

if !d2! lss 5 ( set /a d2=0 )
if !d2! gtr 5 ( set /a d2=5 )

set n=!d1!!d2!
rem echo n=!n!

del a.vbs
set named=!y!!m!!d!!h!!n!
goto :eof

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值