标题: [文本处理] 批处理如何利用通配符的方式截取txt部分字段,并生成新的TXT文件 [打印本页]
作者: alick 时间: 2022-4-9 09:49 标题: 批处理如何利用通配符的方式截取txt部分字段,并生成新的TXT文件
本帖最后由 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
......
作者: qixiaobin0715 时间: 2022-4-9 10:18
本帖最后由 qixiaobin0715 于 2022-4-9 10:20 编辑
回复 1# alick
将代码另存为ANSI编码文件:- @echo off
- setlocal enabledelayedexpansion
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- set "str=!str:*QRDD37B=!"
- if not "!str!"=="%%a" echo,QRDD37B!str:~,4!
- ))>b.txt
复制代码
作者: alick 时间: 2022-4-9 10:48
回复 2# qixiaobin0715
完美,太感谢qixiaobin0715老师的帮助了
作者: Batcher 时间: 2022-4-9 11:07
回复 1# alick - @echo off
- cd /d "%~dp0"
- powershell -c "gc A.txt | ForEach-Object{if($_ -match 'QRDD37B.{4}'){$matches[0]}}" > B.txt
复制代码
作者: alick 时间: 2022-4-10 19:05
回复 4# Batcher
非常感谢!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |