[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

如题 批处理能否截取一个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

回复 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
复制代码

TOP

本帖最后由 qixiaobin0715 于 2020-11-23 16:34 编辑

提供信息不全。时间前面应当还有日期?格式?

TOP

回复 3# qixiaobin0715


    没有日期,只有一个时间

TOP

a.log为源文件,b.log为新文件

TOP

回复 5# qixiaobin0715


    如果目录下有a1,a2,a3,a4多个文件,可以批量提取出来为b1,b2,b3,b4这样的吗

TOP

本帖最后由 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
复制代码

TOP

回复 7# qixiaobin0715


    大佬有个问题,就是当a.log名称中有空格的话提示找不到该log,怎么解决呀

TOP

回复 8# w31575801

已修改,试试吧。

TOP

回复 9# qixiaobin0715


    还是找不到,我删掉空格就可以,大佬能设置个条件直接把空格改成下划线然后在操作截取另存吗,,最后加一个删除原始log只保留修改后的log

TOP

回复 10# w31575801
再试试

TOP

本帖最后由 qixiaobin0715 于 2020-11-24 09:37 编辑

回复 8# w31575801

经过测试,我这里没问题啊。请不要直接选中代码复制,点击代码下方的“复制代码”,再粘贴。将bat文件另存为编码为ANSI的文件。

TOP

回复 11# qixiaobin0715


    可以了谢谢大佬

TOP

回复 11# qixiaobin0715


    大佬有个问题就是当log日志太大的时候转换特别慢,有没有什么方法解决,比如引用notepad+去操作

TOP

回复 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
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表