Я хочу использовать переменные в CMD через среду выполнения Java.Я попробовал следующее:
Runtime runtime = Runtime.getRuntime();
try {
runtime.exec("cmd /c start cmd.exe /K \"ping localhost &&" +
"set /p userInput=Do you want to exit? [y/n] &&" +
"echo %userInput%\"");
} catch (IOException ex) {
}
Но вместо указания значения переменной userInput
он отображает имя переменной в том виде, как оно есть с символом %
с обеих сторон:
Pinging Desktop-PC [::1] with 32 bytes of data:
Reply from ::1: time<1ms
Reply from ::1: time<1ms
Reply from ::1: time=1ms
Reply from ::1: time=1ms
Ping statistics for ::1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 1ms, Average = 0ms
Do you want to exit? [y/n] y
%userInput%
тогда как, если я запускаю ту же команду из CMD, она дает мне значение переменной
D:\>set /p userInput=Do you want to exit? [y/n]
Do you want to exit? [y/n] y
D:\>echo %userInput%
y