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

how to call all the files inside a folder using batchfile

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" 

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

这会在每次循环中替换该目录中其中一个 .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" )

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

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

问题解决.. 感谢所有

java -Xss2048k -jar -DentityExpansionLimit=800000 "C:\testXsl\saxon9.jar" "collection('C:/testXsl/In/?select=*.xml')" "C:\testXsl\XslFile\test.xsl" >"C:\testXsl\Out\out.xml" 2>"C:\testXsl\Logs\xsllog.xml"