Я пытался выяснить способ пакетного преобразования файлов в каталог с помощью xslt. Я попробовал xml-ключ и несколько других программ, но мне нужно поместить все это в скрипт или пакет, которые я могу запустить по мере необходимости.пакетное преобразование xslt xml
Я начал с помощью пакетного файла с помощью командной строки raptorxml, как показано ниже:
C:\Program Files (x86)\Altova\RaptorXMLServer2013\bin>RaptorXML.exe xslt --input=c:\data\test1.xml --output=c:\data\output1.xml c:\data\test.xsl
file:///c:/data/test1.xml: result="OK" xslt-output-files="file:///c:/data/output1.xml"
Когда я пытаюсь сделать это в пакетном файле, как показано ниже, я не могу понять вещь, что происходит - не может понять, запущен ли скрипт или была ли какая-либо ошибка. Пробовал помещать ECHO между ними, но это тоже не помогло. Я попытался перенаправить вывод в журнал с помощью> log.log, но это просто получило бы эхо каждой из строк в файле. Я не могу увидеть значение переменных в образе или как вызов raptorxml формируется. Любые подсказки или указатели будут полезны - спасибо.
Вот мой пакетный файл: я бегу как batchxform.bat C:\data\ip
cls
call :treeProcess
goto :eof
:treeProcess
cd %1
for %%f in (*.xml) do (
RaptorXML.exe xslt --input=%%f --output=c:\data\op\%%~nf.xml c:\data\test.xsl
)
for /D %%d in (%1) do (
cd %%d
call :treeProcess
cd ..
)
exit /b
После первого ответа/пост, я добавил больше логики для вызова скрипта из другого обрабатывать файлы из всех подкаталогов входных директорий. Мысль обмена, что сценарий здесь:
ECHO OFF
set _xform=C:\Users\gkalra\Documents\work\Annotation\code\batchxform.cmd
rem call _xform %1
FOR /R %1 %%G in (.) DO (
Pushd %%G
Echo now in %%G
rem dir /b "%%G/*.xml"
call "%_xform%" %%G
Popd
)
Echo "back home"
для одного, вы должны использовать '' pushd' и popd' вместо 'cd' – Monacraft
Да сделал это для одного .. понял, что поздно. –