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

[文本处理] [分享]批处理获取txt文档固定字符串后面的值

[复制链接]
发表于 2022-6-28 16:09:29 | 显示全部楼层 |阅读模式
【问题描述】

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

示意如
1
Status Register 2 : 8Ah
2
 楼主| 发表于 2022-6-28 16:10:16 | 显示全部楼层
【解决方案】

请参考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
复制代码
发表于 2022-6-28 17:11:42 | 显示全部楼层
这样也行:
  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
复制代码
发表于 2022-7-10 15:25:19 | 显示全部楼层
回复 2# Batcher
谢谢大大回复微信,还帮忙在论坛上发帖并提供代码
但是我是个小白, 没跑出来
我需要跑出来的会生成并输出到一个新的txt, 输出的txt内容为"文档名+特定字符串后提取出来的字符"
还请在帮忙看看
发表于 2022-7-10 15:26:04 | 显示全部楼层
回复 3# qixiaobin0715
谢谢您的回复
但是我是个小白, 没跑出来
我需要跑出来的会生成并输出到一个新的txt, 输出的txt内容为"文档名+特定字符串后提取出来的字符"
还请再帮忙看看
 楼主| 发表于 2022-7-10 18:56:16 | 显示全部楼层
回复 4# dongyuexie


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

请参考Q-01观察一下哪行代码在报错以及详细的报错信息:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:40 , Processed in 0.018829 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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