【发布时间】:2012-05-30 06:44:49
【问题描述】:
我必须从需要管理权限的 java 程序运行批处理文件。我正在使用以下命令
runtime.getruntime().exec("runas /user:Admin \"C:\\Program Files\\test.bat\"");
但是当它被执行时,它会提示输入管理员帐户的密码。我怎样才能给它的密码。
【问题讨论】:
标签: java batch-file
我必须从需要管理权限的 java 程序运行批处理文件。我正在使用以下命令
runtime.getruntime().exec("runas /user:Admin \"C:\\Program Files\\test.bat\"");
但是当它被执行时,它会提示输入管理员帐户的密码。我怎样才能给它的密码。
【问题讨论】:
标签: java batch-file
您不能将密码通过管道传输到 runas,因为它从终端请求密码,而不是从标准输入。没有“sudo -s”的等价物。
【讨论】:
试试这个
runtime.getruntime().exec("cmd /C echo YOUR_PASS | runas /user:Admin \"C:\Program Files\test.bat\"");
【讨论】:
runas 时,生成的进程的初始当前文件夹将更改为%SYSTEM%\system32
我小时候做过这个
echo Pa$$W0Rd | some_command_expects_it
【讨论】: