我在本机测试正常。本机是32位WIN7,调用bat正常运行走下去,可是部署到64位WIN8服务器上时在调用BAT批处理的时候能够调用,但是走不下去,运行bat文件输出这步一直没走到。卡住了。求大神帮忙看下。
代码如下:
/**
* 运行bat文件
*
* @param batName
*/
public void runbat(String batName) {
try {
Process ps = Runtime.getRuntime().exec(batName);
InputStream in = ps.getInputStream();
int c;
while ((c = in.read()) != -1) {
System.out.print(in.toString());// 查看输出
}
in.close();
ps.waitFor();
} catch (IOException ioe) {
ioe.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* 执行bat
* @param url
*/
public void downFileToRegistDCOM(String url){
DownFile d = new DownFile();
try {
System.out.println("======开始注册dcm文件=======");
d.runbat("D:\\dcm\\b.bat");
System.out.println("======完成注册dcm文件=======");
d.runbat("D:\\dcm\\c.bat");
System.out.println("======完成删除dcm文件=======");
} catch (Exception e) {
e.printStackTrace();
}
}
b.bat内容如下:
@echo off
cd /d E:\pcas\dcm4cheTest\dcm4cheTest\dcm4che-2.0.27\bin
dcmsnd DCM4CHEE@localhost :11112 D:\dcm\CT_1.dcm
ping -n 5 127.0.0.1
exit