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

[文本处理] 【已解决】批处理能否截取一短时间内的Log另存为新的Log?

[复制链接]
发表于 2020-11-23 10:54:59 | 显示全部楼层 |阅读模式
如题 批处理能否截取一个Log日志内的某段时间的Log另存为新的Log?

求教 从0:00:00:001~23:59:59:999 中选取一个时间段的怎么用bet指令操作
00:08:37.859 [KEY STATUS] Push Button Back Key

00:08:37.859  [SEQUENCE] Exec Sequence 1
00:08:37.875 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:39.234 [KEY STATUS] Push Button Back Key

00:08:39.250  [SEQUENCE] Exec Sequence 1
00:08:39.265 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:40.359 Esc Key pressed. ( A Stage )
00:08:40.625 RunThread1 [KEY STATUS] Push Button ESC Key

00:08:40.640  [SEQUENCE] Exec Sequence 1
00:08:40.656 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:40.859 Esc Key pressed. ( A Stage )
00:08:42.015 [KEY STATUS] Push Button Back Key

00:08:42.031  [SEQUENCE] Exec Sequence 1
00:08:42.046 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:43.406 [KEY STATUS] Push Button Back Key

00:08:43.421  [SEQUENCE] Exec Sequence 1
00:08:43.437 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:46.078 [KEY STATUS] Push Button Back Key

00:08:46.078  [SEQUENCE] Exec Sequence 1
00:08:46.093 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:47.468 [KEY STATUS] Push Button Back Key

00:08:47.468  [SEQUENCE] Exec Sequence 1
00:08:47.484 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:48.843 [KEY STATUS] Push Button Back Key

00:08:48.859  [SEQUENCE] Exec Sequence 1
00:08:48.875 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316
00:08:50.234 [KEY STATUS] Push Button Back Key

00:08:50.250  [SEQUENCE] Exec Sequence 1
00:08:50.265 #[SEQ1] Inspection Start !! [Model] D705 [S/W Ver : ] [H/W Ver : ] [Script Ver : D705[MP-3-N-FT57]-200316

00:08:51.625  [SEQUENCE] Exec Sequence 2
发表于 2020-11-23 14:58:43 | 显示全部楼层
回复 1# w31575801
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1,* delims= " %%i in (a.log) do (
  4. set var=%%i
  5. set var=!var::=!
  6. if !var! geq 00101133 if !var! leq 00201145 echo %%i %%j
  7. ))>b.log
  8. pause
复制代码
发表于 2020-11-23 15:22:06 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2020-11-23 16:34 编辑

提供信息不全。时间前面应当还有日期?格式?
 楼主| 发表于 2020-11-23 18:48:28 | 显示全部楼层
回复 3# qixiaobin0715


    没有日期,只有一个时间
发表于 2020-11-23 18:54:00 | 显示全部楼层
a.log为源文件,b.log为新文件
 楼主| 发表于 2020-11-23 19:20:35 | 显示全部楼层
回复 5# qixiaobin0715


    如果目录下有a1,a2,a3,a4多个文件,可以批量提取出来为b1,b2,b3,b4这样的吗
发表于 2020-11-23 20:25:24 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2020-11-24 09:23 编辑

回复 6# w31575801
新文件名为源文件名前加字符#,这样通用一些。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in ("*.log") do (
  4.     (for /f "tokens=1,* delims= " %%i in ('type "%%a"') do (
  5.         set var=%%i
  6.         set var=!var::=!
  7.         if !var! geq 00101133 if !var! leq 100201145 echo %%i %%j
  8.     ))>"#%%a"
  9. )
  10. pause
复制代码
 楼主| 发表于 2020-11-24 07:16:24 | 显示全部楼层
回复 7# qixiaobin0715


    大佬有个问题,就是当a.log名称中有空格的话提示找不到该log,怎么解决呀
发表于 2020-11-24 08:09:47 | 显示全部楼层
回复 8# w31575801

已修改,试试吧。
 楼主| 发表于 2020-11-24 08:38:05 | 显示全部楼层
回复 9# qixiaobin0715


    还是找不到,我删掉空格就可以,大佬能设置个条件直接把空格改成下划线然后在操作截取另存吗,,最后加一个删除原始log只保留修改后的log
发表于 2020-11-24 08:47:13 | 显示全部楼层
回复 10# w31575801
再试试
发表于 2020-11-24 09:34:50 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2020-11-24 09:37 编辑

回复 8# w31575801

经过测试,我这里没问题啊。请不要直接选中代码复制,点击代码下方的“复制代码”,再粘贴。将bat文件另存为编码为ANSI的文件。
 楼主| 发表于 2020-11-24 09:57:02 | 显示全部楼层
回复 11# qixiaobin0715


    可以了谢谢大佬
 楼主| 发表于 2020-11-24 21:49:44 | 显示全部楼层
回复 11# qixiaobin0715


    大佬有个问题就是当log日志太大的时候转换特别慢,有没有什么方法解决,比如引用notepad+去操作
发表于 2020-11-24 21:59:04 | 显示全部楼层
回复 14# w31575801


可以考虑试试第三方命令行工具 sed.exe 或 gawk.exe
http://bcn.bathome.net/s/tool/index.html?key=sed
http://bcn.bathome.net/s/tool/index.html?key=gawk
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 20:28 , Processed in 0.032702 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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