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를 사용하여 출력을 로그로 리다이렉션하려고했으나 파일의 각 줄에 대한 에코가 생겼다. look의 변수 값이나 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
로 실행, I는 입력 DIRS의 모든 하위 디렉토리의 파일을 처리하기 위해 서로 스크립트를 호출하기 위해 더 많은 로직을 추가했습니다. 여기에 스크립트를 공유하는 생각 :
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'와'대신'네가 하나 .. 늦게 깨달았다했다 – Monacraft
cd'의 popd'를 사용해야합니다. –