java调用批文件(.bat)并动态传参

java代码:

package test;

import java.io.IOException;


public class TestMain {

	public static void main(String [] args) {
		try {
			Process ps = Runtime.getRuntime().exec("cmd /c start   C:/Users/Lenovo/Desktop/DCPScheduler/startTask.bat DQSCHECK 2018-11-02");
			System.out.println(ps.getInputStream());
		} catch (IOException e) {
			e.printStackTrace();
		}
    }
}

 其中第一个参数是:DQSCHECK   第二参数是:2018-11-02

 

.bat代码:

title DCP_Dask_Start DCP作业启动
@echo off
if "%JAVA_HOME%" == "" goto error

"%JAVA_HOME%/bin/java" -jar ./lib/JCMDealTask.jar %1 %2

goto end

:error
echo 请先设置JAVA_HOME环境变量为JDK6安装目录
:end

pause;

其中:%1 (获取第一个参数,即DQSCHECK), %2(获取第二个参数,即2018-11-02)

特别提醒:批文件中调用jar,jar包的位置以及jar中需要的文件要注意存放的位置,因为运行bat的位置和bat存放的位置是不一样的。

比如说:bat的位置在C:/Users/Lenovo/Desktop/DCPScheduler/startTask.bat,但bat运行的位置是D:\sunline\installWares\eclipse\workspace\Test


版权声明:本文为xhw979850818原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。