2012-05-30 46 views
11

我必须从需要管理权限的java程序运行批处理文件。我正在使用下面的命令如何在从java执行runas命令时提供密码

runtime.getruntime().exec("runas /user:Admin \"C:\\Program Files\\test.bat\""); 

但当它得到执行它的提示输入管理员帐户的密码。我怎样才能给它的密码。

回答

3

试试这个

runtime.getruntime().exec("cmd /C echo YOUR_PASS | runas /user:Admin \"C:\Program Files\test.bat\""); 
+0

文件异常java.io.IOException:无法运行程序“echo”: – Muzy

+1

我没有Windows机器,但可以尝试“cmd.exe/C echo”而不是“echo”吗? –

+0

是的,这有助于调用echo cmd。修复此问题的答案 – yatul

0

当我的孩子一个这样做

echo Pa$$W0Rd | some_command_expects_it 
+0

文件异常java.io.IOException:无法运行程序“echo”: – Muzy

6

不能通过管道密码进入运行方式,因为它从终端请求的密码,而不是从标准输入。没有相应的“sudo -s”。

+0

感谢您提供有洞察力的答案,这很有道理:) – Rolf