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

[文本处理] 求助 字符后添加顺序数字 批处理

[复制链接]
发表于 2021-6-19 16:56:08 | 显示全部楼层 |阅读模式
本帖最后由 clsall 于 2021-6-19 17:14 编辑

<smilie smilie_category_id="1" title="/ac" display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac.png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac</smilie_text>
    </smilie>
        <smilie smilie_category_id="1" title="/ac" display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac.png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac</smilie_text>
    </smilie>
        <smilie smilie_category_id="1" title="/ac" display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac.png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac</smilie_text>
    </smilie>

文本中所有的/ac后面添加顺序数字,感谢各位 感谢



    <smilie smilie_category_id="1" title="/ac1" display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac1.png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac1</smilie_text>
    </smilie>
        <smilie smilie_category_id="1" title="/ac2" display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac2.png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac2</smilie_text>
    </smilie>
        <smilie smilie_category_id="1" title="/ac..." display_order="10" display_in_editor="1">
      <image_url>data/assets/smilies/ac....png</image_url>
      <image_url_2x></image_url_2x>
      <smilie_text>/ac...</smilie_text>
    </smilie>
发表于 2021-6-19 18:11:35 | 显示全部楼层
本帖最后由 newswan 于 2021-6-19 19:26 编辑

powershell

  1. $file = "1.txt"

  2. $fc = get-content -raw $file

  3. $i = 0
  4. while ($fc -match '(?s)(<smilie .*?</smilie>)(.*)')
  5. {
  6.     $i++
  7.     $s += $matches[1] -replace "ac",("ac" + [string] $i)
  8.     $fc = $matches[2]
  9. }
  10. $s + $fc | out-file $file

复制代码
发表于 2021-6-20 09:19:32 | 显示全部楼层
纯批好像也行。将代码和文本文件存为ANSI编码:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (test.txt) do (
  4. set "str=%%a"
  5. if not "!str:<smilie smilie=!"=="!str!" set /a n+=1
  6. for %%i in (!n!) do set "str=!str:/ac=/ac%%i!"&echo,!str!
  7. )
  8. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 17:25 , Processed in 0.030493 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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