2017-06-29 44 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

相關問題