找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24042|回复: 6

[文本处理] [已解决]批处理如何根据指定条件提取回显中的内容?

[复制链接]
发表于 2016-1-5 10:27:25 | 显示全部楼层 |阅读模式
回显内容类似这样:
job=20160105102433
progress=0
status=run
id=22
需求是:
对比job,一致的话分析progress值, 小于10且status为run的时候
回显job    progress    id

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2016-1-5 10:35:11 | 显示全部楼层
请举例说明什么是“job一致”
 楼主| 发表于 2016-1-5 10:39:13 | 显示全部楼层
回复 2# gawk


    这是个子过程, 进入子过程之前会取得一个job值。
这个值会和子过程取到的值比较,只有一致的才会继续执行
发表于 2016-1-5 10:54:49 | 显示全部楼层
  1. set new=你好,我是新来的,前来拜会...
  2. if "%new%" neq "" if "%job%"=="%new%" if %progress% lss 10 if "%status%"=="run" (
  3.         echo;%job%    %progress%    %id%
  4. )
复制代码
发表于 2016-1-5 14:42:04 | 显示全部楼层
  1. @echo off
  2. REM 进入子过程之前会取得一个job值
  3. set OldJob=20160105102433

  4. REM 用 type "1.txt" 模拟回显
  5. type "1.txt" | findstr "^job=%OldJob%$" >nul 2>&1
  6. if errorlevel 1 (
  7.     echo job不一致
  8.     goto :eof
  9. ) else (
  10.     type "1.txt" | findstr "^status=run$" >nul 2>&1
  11.     if errorlevel 1 (
  12.         echo status不是run
  13.         goto :eof
  14.     ) else (
  15.         for /f "tokens=2 delims==" %%i in ('type "1.txt" ^| findstr "progress="') do (
  16.             if %%i lss 10 (
  17.                 type "1.txt" | findstr "job= progress= id="
  18.             ) else (
  19.                 echo progress不小于10
  20.             )
  21.         )
  22.     )
  23. )
  24. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2016-1-5 16:21:55 | 显示全部楼层
综合4、5楼的水一个
  1. @echo off
  2. REM 进入子过程之前会取得一个job值
  3. set OldJob=20160105102433
  4. REM 用 type "1.txt" 模拟回显
  5. for /f %%a in ('type 1.txt') do set %%a
  6. if "%job%"=="%oldjob%" if %progress% lss 10 if "%status%"=="run" echo.%job% %progress% %id%
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-1-6 08:32:25 | 显示全部楼层
根据回显内容的顺序,我用if 变量==值的方式进行了回显读取和判断
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 06:14 , Processed in 0.021060 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表