日期:2014-05-20  浏览次数:20890 次

java在win7下面如何以管理员的权限运行bat文件
在java中我用这种方式调用批处理(bat)文件 
String batFilePath = "cmd /c d:/workshop/set/startup_setdb.bat"; 

  try{ 
Process process = Runtime.getRuntime().exec(batFilePath); 
InputStream in = process.getInputStream(); 
BufferedReader br= new BufferedReader(new InputStreamReader(in)); 

String str = null;  
  while ((str = br.readLine()) != null) {  
  System.out.println(str);  
  }  


try{ 
  process.waitFor(); 
  br.close(); 
  in.close(); 
}catch (IOException e) { 
MsgBox.showError(null, e.toString()); 
return false; 
}catch (InterruptedException e) { 
MsgBox.showError(null, e.toString()); 
return false; 

}catch (IOException e) { 
MsgBox.showError(null, e.toString()); 
return false; 


return true; 


该java程序和bat文件在XP下可以都可以正常使用; 

但是在win7通过该java程序调用bat文件下就不行了; 
win7下,通过手动的形式调用bat,并且选择“以管理员的身份运行”可以正常运行批处理文件,说明bat文件是没有问题的。 

所以我怀疑就是win7中使用java调用bat文件不能够以管理员的身份运行bat文件,导致bat文件中的有一部分内容没有执行权限。 

请问一下如何使用java 在win7下调用bat文件并且保证有管理员的执行权限 


------解决方案--------------------
同问!
------解决方案--------------------
没有高人来回答吗?继续顶!
------解决方案--------------------
以管理员身份执行你的java程序
------解决方案--------------------
我也是这个问题!怎么办呢?在网上找了好多都是在本机修改当前用户的权限,可是我将当前用户加到管理员组之后还是没有权限,求解答……
------解决方案--------------------
我现在也是这个问题,在win7下 bat文件要 Run As Administator 才可以,我是想做一个schedule来直接调用bat文件,可是现在schedule里怎么可以调用bat并Run As Administator呢
------解决方案--------------------
哎 我也是遇到这个问题了,找了半天资料还是没有结果