Board logo

标题: [文本处理] [分享]批处理获取txt文档固定字符串后面的值 [打印本页]

作者: Batcher    时间: 2022-6-28 16:09     标题: [分享]批处理获取txt文档固定字符串后面的值

【问题描述】

求一个批处理代码
有系列txt文档(测试log,内容形式固定,固定行有一个固定值),我需要抓取每个文档中固定字符串后面的值

示意如
1
Status Register 2 : 8Ah
2
作者: Batcher    时间: 2022-6-28 16:10

【解决方案】

请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. for /f "delims=" %%i in ('dir /b /a-d *.txt') do (
  4.     for /f "tokens=4" %%j in ('type "%%i" ^| find "Status Register 2"') do (
  5.         echo [%%i] %%j
  6.     )
  7. )
  8. pause
复制代码

作者: qixiaobin0715    时间: 2022-6-28 17:11

这样也行:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* delims=:" %%a in ('findstr /i /l "Status Register 2 : " *.txt') do (
  4. set str=%%b
  5. echo,[%%a] !str:*Status Register 2 : =!
  6. )
  7. pause
复制代码

作者: dongyuexie    时间: 2022-7-10 15:25

回复 2# Batcher
谢谢大大回复微信,还帮忙在论坛上发帖并提供代码
但是我是个小白, 没跑出来
我需要跑出来的会生成并输出到一个新的txt, 输出的txt内容为"文档名+特定字符串后提取出来的字符"
还请在帮忙看看
作者: dongyuexie    时间: 2022-7-10 15:26

回复 3# qixiaobin0715
谢谢您的回复
但是我是个小白, 没跑出来
我需要跑出来的会生成并输出到一个新的txt, 输出的txt内容为"文档名+特定字符串后提取出来的字符"
还请再帮忙看看
作者: Batcher    时间: 2022-7-10 18:56

回复 4# dongyuexie


建议以后不要再说“不行”、“一闪而过”、“没有反应”之类的话,因为这对于想要给你进一步帮助的人来说没有任何意义。希望大家都能学会的一个知识点是:如何查看代码的报错信息。

请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA




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