Java:以管理员身份在新的cmd.exe中执行命令

时间:2013-10-04 07:30:38

标签: java batch-file cmd exec

我想使用

从Java应用程序执行命令
Runtime.getRuntime.exec(command);

但该命令需要Admin-privileges。如果我使用

runas /user:Administrator "cmdName parameters"

没有任何反应,因为我需要将user und pw作为参数提供给命令。 但是我需要向cmd运行一个命令,以便新的cmd.exe以管理员身份启动,并询问我是否要以管理员身份运行cmd.exe。同意后,命令应该在admin-cmd中运行。像这样:

String command = "popupNewCmdAsAdminAndRun "batWhichNeedsAdmin.bat" "
Runtime.getRuntime.exec(command);

有人有想法吗? 提前谢谢!

3 个答案:

答案 0 :(得分:1)

您应该执行以下操作

Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.Arguments = "command";
process.StartInfo.Verb = "runas";
process.Start();
process.WaitForExit(60000);

答案 1 :(得分:0)

Start Command Prompt (CMD) from java as AdministratorRun command prompt as Administrator - 或者愚蠢的方式,尝试管道:

pw | command

答案 2 :(得分:0)

研究构建项目和可执行jar文件。通常在构建项目时,它会为您提供一个命令行,可用于执行位于projects文件夹中的文件夹dist中的jar文件。您可以在cmd中复制并粘贴命令行。但您也可以使用bat文件,或使用jar2exe转换器将可执行jar文件转换为exe文件。不完全确定名称,因为我没有在我的电脑上发布。