Нуждаюсь в пояснении синтаксиса "системных команд" для параметра метода exec().
Runtime.getRuntime().exec("cmd /c start cmd.exe");
Что, например, в данном случае значит мета-символ \c и параметр start. Понятно, что запускает командную строку, но почему просто не cmd.exe? Ведь некоторые процессы запускаются просто по пути. Где смогу найти полное руководство по синтаксису? Документация Oracle молчит по этому поводу...
Заранее спасибо)
Это команды консоли windows (нажмите Пуск-выполнить-введите "cmd"), которые запускает виртуальная java машина посредством Runtime.getRuntime().exec(...).
Runtime.getRuntime().exec("cmd /c start cmd.exe");
При такой комбинации команд запускается отдельное окно cmd.
cmd - командный интерпретатор
start - команда запуска чего-либо в отдельном окне
C:\Windows\System32>cmd /?
Запуск новой копии интерпретатора команд Windows.
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] строка]
/C Выполнение указанной команды (строки) с последующим завершением.
Фактически мы делаем так:
запустить интерпретатор cmd
запустить в нем команду start, которая откроет отдельное окно cmd
завершить работу cmd
P.S. Если бы предполагалось что программа на java должна выполнятся не в Windows а например в Linux, то команды были бы другими.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей