在循环中调用spring批处理程序,将unix目录下的每个文件作为参数

时间:2014-01-22 11:50:12

标签: unix batch-processing

我有一个Spring批处理程序,我从unix脚本调用如下:

java -DLOG_DIR=$LOG_DIR -Dlog4j.configuration=file://$CONFIG_DIR/myLog4j.log4j.properties -classpath $CLASSPATH org.springframework.batch.core.launch.support.CommandLineJobRunner job_config.xml myJob dataDirPath=$DATA_DIR/ pdfName=one.pdf

job_config.xml是弹出批处理配置文件,myJob是应该运行的作业。

dataDirPathpdfName是传递给作业的两个参数。

现在我的unix服务器上有一个目录,其中包含一些子目录。

基目录和子目录包含pdf文件以及其他类型的文件。

我想编写一个脚本,为基本目录中的所有pdf以及子目录调用上面提到的作业。

我如何在unix中实现这一目标?

1 个答案:

答案 0 :(得分:0)

你可以用两种方式做到这一点。

您需要更改批处理作业myJob以从基本目录检索所有pdf文件,包括使用java的子目录。

另一种选择是找到基目录下的所有pdf文件,包括使用unix的sub directory

find . -name "*.pdf"

获取输出可以是逗号分隔,并将此逗号分隔的字符串作为批处理作业的参数,并且应修改myJob以读取新参数并处理它