2017-06-29 47 views
-1

我有一个基于xml的文件,我使用BAT文件在xml中查找和替换子字符串。正则表达式需要重命名文件中的特定子字符串

我使用此代码来获取系统时间,并在稍后使用它来替换以前的时间。

@echo off 
set hr=%time:~0,2%%time:~3,2% 
set hr=%hr: =0% 
@echo on 
RxFind Test.txt /p:"HHmm(?<one>.*?)(?<two>.*?)(?<thr>.*?)(?<fou>.*)" /r:HHmm%hr% 

所以,如果我跑,我得到我的XML这个值:由HHmm(system time)取代 < Value string="HHmm1416"/ > ,所以它的工作原理除了

Value string="HHmm1752 
</Value> 

它切断了“\>和移动在同一行上的下一行是什么正则表达式正确替换只有HHmm1416HHMM(new systime)?我无法得到表达式正确

我使用RxFind这个。胸部和B2因为没有备份的Cuz

RxFind Test.SC2Bank.txt /p:"HHmm(.)(.)(.)(.)" /r:HHmm%hr% /b:2 
+0

如果你解决了它作为答案发布您的解决方案。 – chris85

回答

0

RxFind是用C#和使用.NET正则表达式的格式,所以用\ d {4}找到4位:

RxFind Test.txt /p:"HHmm\d{4}" /r:HHmm%hr% /b:2 
+0

虽然这段代码可能会回答这个问题,但您应该添加一个解释,说明为什么/如何解决问题。 – BDL

相关问题