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

[文件操作] 请教怎么用批处理把文件中特定的区间给替换掉?

[复制链接]
发表于 2021-1-24 22:03:07 | 显示全部楼层 |阅读模式
本帖最后由 qqask 于 2021-1-24 22:51 编辑

比如说某个n.js内容是这样的:
mu->doe = ['( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>
]

  mu->Koe = ['( tr<br>
     tekt  ( tr uapp "(Finction rood (\;)..<br>
     ord  ( a b c)<br>

  )<br>
]

  mu->Yoe = ['( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>
]
想把mu->Koe = 这段方括号[]之间的内容替换成其他字符串,比如换成这样:
mu->doe = ['( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>
]

  mu->Koe = [778899]

  mu->Yoe = ['( tr <br>
     tekt  ( tr uapp "(Finction rood (\;)<br>
     ord  ( a b c)<br>

  )<br>
]
mu->Koe =这段所在文件的位置不一定,方括号里面的文字也不一样。一般采用正则表达式好些吧?
发表于 2021-1-24 22:46:24 | 显示全部楼层
回复 1# qqask


    建议使用支持正则替换的文件编辑器
 楼主| 发表于 2021-1-24 22:50:45 | 显示全部楼层
回复 2# Batcher
文件较多,且更新频繁,想弄个批处理文件一键处理完毕。
找了些能正则替换的软件,要不不支持批量正则替换,要不替换效果不是很好。
 楼主| 发表于 2021-1-24 22:57:54 | 显示全部楼层
sed ":a;$!{N;ba};s/mu->Koe = \[.*\]/778899/g" n.js
这句话能实现一定的替换,但是一直替换到最后一个]号了,能不能终止在第一个]号?
发表于 2021-1-25 07:16:20 | 显示全部楼层
  1. sed -b -E -e ":a;$!{N;ba};s/(mu->Koe = \[)[^][]*/\1778899/g" n.js
复制代码
发表于 2021-1-25 12:40:40 | 显示全部楼层
回复 1# qqask
纯批好像也行:
  1. @echo off
  2. set n=true
  3. setlocal enabledelayedexpansion
  4. for %%i in (*.js) do (
  5.     (for /f "delims=" %%a in ('findstr /n ".*" "%%i"') do (
  6.         set "str=%%a"
  7.         set "str1=!str:*>=!"
  8.         set "str=!str:*:=!"
  9.         if "!str1:~0,3!"=="Koe" set n=false&echo,mu-^>Koe = [778899]
  10.         if !n!==true echo,!str!
  11.         if "!str!"=="]" if !n!==false set n=true
  12.     ))>#%%i
  13. )
  14. pause
复制代码
 楼主| 发表于 2021-1-26 09:55:12 | 显示全部楼层
谢谢各位。
flashercs的代码挺管用。
sed的简单些,纯批的好像有点复杂,但也是一种选择。
发表于 2021-1-26 10:14:56 | 显示全部楼层
回复 1# qqask


看你是处理的js 代码,你的代码是否可以呀js来写
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 09:26 , Processed in 0.019107 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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