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

[文本处理] [已解决]批处理在文本中指定字符满足条件添加内容?

本帖最后由 czvde 于 2022-10-24 23:44 编辑

文件夹有N个txt文件:
1.txt
……
abc.txt

例如1.txt内容:
  1. 01一   二
  2. 111
  3. 1222一   二1000一   二2000一    二
  4. 0111000
复制代码
运行效果:
文件夹有N个txt文件:
1.txt
1-zx.txt
……
abc.txt
abc-zx.txt

例如1-zx.txt内容:
  1. 01一   二
  2. 111
  3. 1222一   二1000一   二2000(1 _abc)一    二
  4. 0111000
复制代码
已解决!

本帖最后由 hfxiang 于 2022-10-21 08:48 编辑
  1. @echo off
  2. rem 保存为ANSI格式
  3. for /f "tokens=*" %%a in ('dir /b /s *.txt^|findstr /irvec:"-zx.txt"') do (
  4. if not exist "%%~dpna-zx.txt" gawk "length($0)>10{$0=gensub(/(一 +二)/,\"^(1 _abc^)\\1\",\"g\")}1" "%%~fa">"%%~dpna-zx%%~xa"
  5. )
复制代码
1

评分人数

    • czvde: 乐于助人技术 + 1

TOP

本帖最后由 czvde 于 2022-10-24 10:59 编辑

回复 2# hfxiang


    如果一楼的条件修改成这样,用批处理如何实现

TOP

如果按新的要求,把2楼的第4行做如下修改即可
  1. if not exist "%%~dpna-zx.txt" gawk "{$0=gensub(/(一 +二)/,\"^(1 _abc^)\\1\",\"3\")}1" "%%~fa">"%%~dpna-zx%%~xa"
复制代码
1

评分人数

    • czvde: 乐于助人技术 + 1

TOP

返回列表