java执行Batch文件或者CMD 命令,进而调用Kettle job或转换
public static void main(String[]args){
// String cmd = "cmd /c C:\\\\Users\\\\1100490\\\\Desktop\\\\aa.bat" ;
String cmd = "cmd /c @echo off &"+
"D: &\n" +
"cd D:\\kettle-manager\\data-integration &\n" +
"pan.bat -rep=ETL_OA -user=admin -pass=admin -dir=/AMAT_REPORT/ESPT_PRODUCT_FLOW_STEP_ALL_INLINE_SPC_MAPPING_NEW -trans=TF_SELECT_INLINE_SPC_MAPPING";
executeRuntime(cmd);
}
private static void executeRuntime(String cmd) {
Runtime runtime = Runtime.getRuntime();
String result = null;
try{
StringBuilder stringBuilder = new StringBuilder();
Process process = runtime.exec(cmd);
//InputStream in = process.getInputStream();
BufferedReader input = new BufferedReader(new InputStreamReader(process.getInputStream(),"GBK"));
String line = null;
// while (in.read()!=-1){
// stringBuilder.append(in.read());
// }
while ((line=input.readLine())!=null)
{
System.out.println(line);
}
int exitVal = process.waitFor();
System.out.println("Exited with error code" +exitVal);
// in.close();
// process.waitFor();
// result=stringBuilder.toString();
} catch (Exception e) {
e.printStackTrace();
}
// return result;
}