Я бы порекомендовал использовать команду Start
, как указано в комментариях:
@Start "Customer" /D "E:\Java\MyApp" Cmd /K "java -cp (myJAR) app.Client"
@Start "Employee" /D "E:\Java\MyApp" Cmd /K "java -cp (myJAR) app.Node"
@Start "Server" /D "E:\Java\MyApp" Cmd /K "java -cp (myJAR) app.Server"
Вы также можете, если рабочий каталог одинаков для каждого использования, использовать эту альтернативу:
@PushD "E:\Java\MyApp" 2>NUL && (
Start "Customer" Cmd /K "java -cp (myJAR) app.Client"
Start "Employee" Cmd /K "java -cp (myJAR) app.Node"
Start "Server" Cmd /K "java -cp (myJAR) app.Server"
PopD)
Или это:
@CD /D "E:\Java\MyApp" 2>NUL || Exit /B
@Start "Customer" Cmd /K "java -cp (myJAR) app.Client"
@Start "Employee" Cmd /K "java -cp (myJAR) app.Node"
@Start "Server" Cmd /K "java -cp (myJAR) app.Server"
Другая альтернатива, если целью является обеспечение того, чтобы поиск ClassPath включал E:\Java\MyApp
или E:\Java\MyApp\myJAR.jar
, это добавление его непосредственно в команды:
@Start "Customer" Cmd /K "java -cp E:\Java\MyApp\myJAR.jar app.Client"
@Start "Employee" Cmd /K "java -cp E:\Java\MyApp\myJAR.jar app.Node"
@Start "Server" Cmd /K "java -cp E:\Java\MyApp\myJAR.jar app.Server"
Как также рекомендуется в комментариях, чтобы прочитать справку и информацию об использовании команд Start
и Cmd
, откройте окно командной строки и введите start /?
и cmd /?
соответственно.