我运行了这个批处理文件,它处理/ input目录中的xml文件。
java -jar c:/SaxonHE9-6-0-6J/saxon9he.jar -s:D:/hdbook-Convertor/input/ -xsl:C:\Automation\hdbook-convertor.xml -o:D:\hdbook-Convertor\output -xmlversion:1.0
然后将所有已处理的文件移动到输出文件夹。我不知道如何让-s:D:/hdbook-Convertor/input/
遍历所有子目录?
答案 0 :(得分:1)
尝试在转换本身中使用collection()函数:
<xsl:template name="main">
<xsl:for-each select="collection('file:///D:/hdbook-Convertor/input/?recurse=yes;select=*.xml')">
<xsl:result-document href="output/{tokenize(document-uri(.), '/')[last()]">
<xsl:apply-templates/>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
答案 1 :(得分:0)
试试这个(未经测试的)
for /f "delims=" %%f in ('dir /b /s /ad D:\hdbook-Convertor\input') do echo java -jar c:/SaxonHE9-6-0-6J/saxon9he.jar -s:"%%~dpf" -xsl:C:\Automation\hdbook-convertor.xml -o:D:\hdbook-Convertor\output -xmlversion:1.0
如果命令看起来正常并且运行良好(手动尝试其中几个),请删除&#34; echo&#34;用于实际批量执行。