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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基于 Katalon Studio 和 Java-Diff-Utils 库的 Groovy 脚本,用于比较两个文件夹中的文件内容,并将差异数据行数内容输出到 HTML 中: ```groovy import difflib.* import com.kms.katalon.core.util.KeywordUtil // 定义两个文件夹的路径 def folderPath1 = 'path/to/folder1' def folderPath2 = 'path/to/folder2' // 获取两个文件夹中的文件列表 def fileList1 = new File(folderPath1).listFiles() def fileList2 = new File(folderPath2).listFiles() // 定义 HTML 输出文件的路径 def htmlFilePath = 'path/to/result.html' // 创建 HTML 输出文件,并写入表头 def htmlFile = new File(htmlFilePath) htmlFile << ''' <html> <head> <style> .diff-delete { background-color: #FFCDD2; } .diff-insert { background-color: #C8E6C9; } </style> </head> <body> <table> <thead> <tr> <th>文件名</th> <th>差异行数</th> <th>差异内容</th> </tr> </thead> <tbody> ''' // 遍历文件列表,比较文件内容并将结果写入 HTML for (file1 in fileList1) { def fileName = file1.name def file2 = new File(folderPath2 + '/' + fileName) if (file2.exists()) { // 如果文件在两个文件夹中都存在,则比较文件内容 def lines1 = file1.readLines() def lines2 = file2.readLines() def patch = DiffUtils.diff(lines1, lines2) def diffLines = patch.getDeltas().collect { delta -> def range = delta.getRevised().getLines().size() def lines = delta.getRevised().getLines().join('\n') "${range}\n${lines}" }.join('\n\n') if (!diffLines.isEmpty()) { // 如果文件内容有差异,则将差异行数内容写入 HTML def diffHtml = diffLines.replaceAll('\n', '<br>').replaceAll(' ', ' ') def diffClass = (diffLines.startsWith('+') ? 'diff-insert' : 'diff-delete') htmlFile << ''' <tr> <td>${fileName}</td> <td>${patch.getDeltas().size()}</td> <td class="${diffClass}">${diffHtml}</td> </tr> ''' } } else { // 如果文件只在一个文件夹中存在,则将信息写入 HTML htmlFile << ''' <tr> <td>${fileName}</td> <td>1</td> <td>Only exists in ${folderPath1}</td> </tr> ''' } } for (file2 in fileList2) { def fileName = file2.name def file1 = new File(folderPath1 + '/' + fileName) if (!file1.exists()) { // 如果文件只在一个文件夹中存在,则将信息写入 HTML htmlFile << ''' <tr> <td>${fileName}</td> <td>1</td> <td>Only exists in ${folderPath2}</td> </tr> ''' } } // 写入表尾并关闭 HTML 文件 htmlFile << ''' </tbody> </table> </body> </html> ''' htmlFile.close() // 输出结果到 Katalon Studio 的日志中 KeywordUtil.logInfo("差异比较结果已输出到 ${htmlFilePath}") ``` 上面的脚本会输出两个文件夹中所有文件的差异比较结果,并将结果以 HTML 格式保存到指定路径的文件中。HTML 文件会显示每个文件文件名、差异行数和差异内容,其中差异内容会高亮显示。如果某个文件只在一个文件夹中存在,则会在 HTML 中显示相应的信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值