Board logo

标题: [文本处理] 批处理如何获得两个单词之间的某个数字并判断是否大于或者等于0? [打印本页]

作者: winginsky    时间: 2012-9-8 00:58     标题: 批处理如何获得两个单词之间的某个数字并判断是否大于或者等于0?

如何获得两个单词之间的某个数字并判断是否大于或者等于0,如何处理?

各位大虾,小弟有个比较紧急的任务,希望有高手能够指点一下:

下面是一段软件运行产生的log:

        Active for run all
        All files included
        No files excluded
        Do not check file contents
        Include read-only files
        Include hidden files
        Include system files
        Backup older files (send to Recycle Bin)
        All subfolders included
Copied 21,076,368 bytes in 8 files in 00:00:01:937.
Bytes per second 10,878,125.4, files per second 4.1.
Avoided copying 1,646 bytes in 2 files that did not require action.

##############################################

我需要从 log中提取出 Copied 和 bytes 之间的红色数字,并判断其是否大于0,如果大于0,进入流程a,等于0,进入流程B,
我最近花了一天也没有解决这个问题,急求高手指导下,
谢谢!
作者: winginsky    时间: 2012-9-8 01:05

寻高手啊,
作者: terse    时间: 2012-9-8 01:40

  1. @echo off
  2. for /f "tokens=*" %%i in ('findstr /i "Copied.*bytes" a.log') do (
  3.     for /f "tokens=2" %%j in ("%%i") do if %%j gtr 0 (echo a) else echo b
  4. )
  5. pause
复制代码

作者: CrLf    时间: 2012-9-8 04:55

findstr /rc:"Copied [^0][^ ]* bytes" a.log&&goto :a ||goto :b
作者: winginsky    时间: 2012-9-9 10:59

回复 3# terse


     谢谢楼上2位大侠,thx




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2