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

[文本处理] 批处理如何利用通配符的方式截取txt部分字段,并生成新的TXT文件

[复制链接]
发表于 2022-4-9 09:49:57 | 显示全部楼层 |阅读模式
本帖最后由 alick 于 2022-4-9 09:55 编辑

各位老师

因工作需求,要将A.txt文件中特别字符串全部截取出来,并生成新B.TXT(B.txt内数据按列存放,每一行为一组数据,请老师帮帮忙

A.TXT文件内容如下:(需要提取QRDD37B????字段,注:QRDD37B为固定码,????为变量部分)
DATA\SZRSS-B37-gog?QRDD37B0017C150735.txt
DATA\SZRSSR027-B37-gogQRDD37B0018-150908.txt
DATA\SZRR027-B37-gog\QRDD37B0019^151042.txt
DATA\SZRSSR027-B37-gog\QRDD37B0020%151215.txt
......
发表于 2022-4-9 10:18:35 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-4-9 10:20 编辑

回复 1# alick
将代码另存为ANSI编码文件:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%a in (a.txt) do (
  4.     set "str=%%a"
  5.     set "str=!str:*QRDD37B=!"
  6.     if not "!str!"=="%%a" echo,QRDD37B!str:~,4!
  7. ))>b.txt
复制代码
 楼主| 发表于 2022-4-9 10:48:53 | 显示全部楼层
回复 2# qixiaobin0715


完美,太感谢qixiaobin0715老师的帮助了
发表于 2022-4-9 11:07:19 | 显示全部楼层
回复 1# alick
  1. @echo off
  2. cd /d "%~dp0"
  3. powershell -c "gc A.txt | ForEach-Object{if($_ -match 'QRDD37B.{4}'){$matches[0]}}" > B.txt
复制代码
 楼主| 发表于 2022-4-10 19:05:19 | 显示全部楼层
回复 4# Batcher


    非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 04:33 , Processed in 0.017412 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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