java runtime cmd команды даты и времени - PullRequest
1 голос
/ 05 февраля 2012

Мне удалось изменить системное время и дату, используя время выполнения в Java. Однако я должен выполнить эти две команды по одной, открывая две командной строки вместо одной, потому что, если запустить обе команды одновременно, командная строка получает их как одну недопустимую команду

// это рабочий код, который открывает два cmd`s:

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), и вы можете скачать его с здесь .

Как заставить систему изменить время и дату, открыв cmd один раз? Или какой другой выбор у меня есть?

1 Ответ

0 голосов
/ 06 февраля 2012

Попробуйте решения из этого 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 файл.

Надеюсь, это поможет.

...