0
我有我需要分割成多个文件的XML文件,并且我已经有一个批处理文件,可以很好地处理单个文件。我需要编辑批处理文件来处理单个目录中的大量XML文件。我尝试了几种不同的方式来解决这个问题,但似乎无法让它工作。批处理文件:编辑多个文件并保存基于变量的名称,并在输出文件中插入文本
作为额外的好处,我还希望输出文件名包含来自每个输出文件中两行不同行的项目,以及每个文件开始和结尾的插入文本。
这里是我当前的批处理文件:
<Order parentName="ABC-Corp">
<ClientName>ABC</ClientName>
<GroupName>Client</GroupName>
<SiteName>Home</SiteName>
<CaseNumber>634713</CaseNumber>
<ShippingDate>2016-10-20</ShippingDate>
<ShippingMethod>UPS</ShippingMethod>
<TrackingNumber>89273496512349823723423</TrackingNumber>
<OrderDetail>
<ItemShipped>ABC123</ItemShipped>
<Quantity>1</Quantity>
<ClientOrderId>ABCDEF876</ClientOrderId>
</OrderDetail>
每个原始的XML文件包含几个个别输出:
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET /a destadd=0
SET "OrderString=parentName"
SET "found="
FOR /f "delims=" %%a IN (outbound_shipment_20161023.xml) DO (
ECHO("%%a"|FIND "%NRTOrderString%" >NUL
IF NOT ERRORLEVEL 1 (SET found=Y&set/a destadd+=1)
IF DEFINED found >>"Case!destadd!.xml" ECHO %%a
)
GOTO :EOF
处理后的输出文件与上面的例子如上所示,然后使用批处理文件进行分隔。
上面的批处理文件输出名称为Case1.xml,Case2.xml等的文件。我希望更改为“Case_CaseNumber_ClientOrderID.xml”。此外,它需要在每个输出文件的开始和结尾处在新行上插入“Shipment”。
感谢您的任何帮助。