如何使用批处理文件调用文件夹中的所有文件

时间:2015-02-10 10:02:15

标签: windows batch-file cmd batch-processing saxon

java -Xss2048k -jar -DentityExpansionLimit=800000 "C:\testXsl\saxon9.jar" "C:\testXsl\In\" "C:\testXsl\XslFile\test.xsl" >"C:\testXsl\Out\out.xml" 2>"C:\testXsl\Logs\xsllog.xml" 

如何选择C:\testXsl\In\文件夹中的所有.xml文件谢谢?

4 个答案:

答案 0 :(得分:2)

在XSLT中,您可以使用collection('file:///C:/testXsl/In/?select=*.xml')读取该文件夹中的所有.xml个文件。有关该语法的详细信息,请参阅http://saxonica.com/documentation9.5/sourcedocs/collections.html。这样一个样式表就可以处理一组文档。

答案 1 :(得分:0)

每次循环

时,它都会替换该目录中某个.xlm文件的名称
 for /f %%i in ('dir/b C:\testXsl\In\*.xlm') do(
    java -Xss2048k -jar -DentityExpansionLimit=800000 "C:\testXsl\saxon9.jar"
        %%i C:\testXsl\XslFile\test.xsl" >"C:\testXsl\Out\out.xml" 2>"C:\testXsl\Logs\xsllog.xml" )

答案 2 :(得分:0)

这取决于您是否想要完全独立地处理所有文件。如果要对每个文件应用相同的转换,以生成相应的输出文件,则从命令行中-s和-o参数都可以是目录。但是更灵活的方法是使用collection()函数从xslt代码本身内控制迭代。

答案 3 :(得分:0)

问题解决..  谢谢所有

java -Xss2048k -jar -DentityExpansionLimit = 800000" C:\ testXsl \ saxon9.jar" "集合(' C:?/ testXsl /在/选择= * XML')" " C:\ testXsl \ XslFile \ test.xsl" >" C:\ testXsl \缺货\ out.xml" 2 - ;" C:\ testXsl \日志\ xsllog.xml"