我设法在java中使用运行时更改系统时间和日期。但是,我必须一次运行这两个命令,打开两个命令提示而不是一个,因为如果同时运行两个命令,命令提示符将它们作为一个无效命令获取
//这是打开两个cmd的工作代码:
Runtime rt = Runtime.getRuntime();
rt.exec("elevate.cmd cmd.exe /c time 11:30");
rt.exec("elevate.cmd cmd.exe /c date 02-04-2012");
//这是我认为它应该打开一个cmd并执行两个命令的代码
Runtime rt = Runtime.getRuntime();
rt.exec("elevate.cmd cmd.exe /C time 11:25 /C date 02-05-2012");
但cmd正在返回"The system cannot accept the time entered".
注意:elevate.cmd是一个批处理文件,我用它来管理cmd作为管理员(win7),你可以从here下载它。
如何通过打开cmd一次让系统更改时间和日期?或者我还有其他选择吗?
答案 0 :(得分:0)
尝试使用此SOq的解决方案:
基本上,创建一个进程,然后“编写”命令,就好像您是用户键入它们一样。我没有Win7进行测试(不知道它将如何与提升的权限提示结合使用),但它在Ubuntu 11.10上适用于我 - 希望它也适用于您的情况。
或者,您可以创建另一个包含两个命令的.cmd
文件(例如changedt.cmd
):
elevate.cmd cmd.exe /c time 11:30
elevate.cmd cmd.exe /c date 02-04-2012
然后运行它:
Runtime rt = Runtime.getRuntime();
rt.exec("changedt.cmd");
这应该适用于任何情况,因为您似乎成功运行了几乎相同的东西,但添加了另一个.cmd
文件。
希望这有帮助。