У меня есть XML-файлы, которые мне нужно разбить на несколько файлов, и у меня уже есть пакетный файл, который делает это хорошо для отдельных файлов , Мне нужно отредактировать командный файл для обработки большого количества 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
Пример выходного файла после обработки с вышеизложенным:
<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-файл содержит несколько отдельных выходов показанные выше, которые затем разделяются с использованием командного файла.
Пакетный файл выше выводит файлы с именами Case1.xml, Case2.xml и т. Д. Я бы хотел, чтобы это изменилось как «Case_CaseNumber_ClientOrderID.xml». Кроме того, в начале и конце каждого выходного файла потребуется добавить «Отгрузка» в новые строки.
Спасибо за любую помощь.