1 (изменено: olelucoye, 2016-08-02 10:53:52)

Тема: CMD/BAT: Замена даты в XML

Добрый день.
Есть xml файл, в котором имеются строки вида:

<DATE_1>2016-02-01</DATE_1> 
<DATE_2>2016-02-11</DATE_2> 

Необходимо чтобы вторая дата была равна первой. Даты везде разные. Как сделать замену?
Заранее спасибо откликнувшимся.

2

Re: CMD/BAT: Замена даты в XML

+ Могу vbs предложить:
File = "C:\test_ANSI.xml"

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Reg = New RegExp : Reg.IgnoreCase = True

With FSO.GetFile(File)
	All = .OpenAsTextStream(1).ReadAll
	If Test(All, 1, Date1) And Test(All, 2, "") Then _
	.OpenAsTextStream(2).Write Reg.Replace(All, "$1" & Date1 & "$3")
End With

Function Test(Text, Num, DateN)
	Reg.Pattern = "(<date_" & Num & ">)([\d\-]*)(</date_" & Num & ">)"	
	If Reg.Test(Text) Then Test = 1 : If Num = 1 Then _
	DateN = Reg.Execute(Text)(0).Submatches(1)
End Function