Как написать простой скрипт в пакетном режиме для запуска некоторых cmd? - PullRequest
0 голосов
/ 20 января 2020

Я пишу программу Сервер-Клиент Java.

Чтобы протестировать эту программу, мне нужно запустить несколько cmd windows. И это очень скучно, особенно если вы только начинаете работать. Программа работает в трех подпрограммах:

  • Сервер
  • Клиент
  • Сотрудник сервера.

Поэтому я хотел бы написать скрипт (я не знаю, как это сделать, потому что я никогда ничего не писал в пакетном режиме), который:

  • запускает одно окно cmd в каталоге, например, E: \ java \ myapp \

    - вызовет команду: java -cp (myJAR) app.Server

  • будет запущен два cmd windows in: E: \ java \ myapp \

    -вызовите команду: java -cp (myJAR) app.Node

  • и, наконец, запустите одно окно клиента: E: \ java \ myapp \

    - вызовите команду: java -cp ( myJAR) app.Client

Ответы [ 2 ]

1 голос
/ 20 января 2020

Я бы порекомендовал использовать команду 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 /? соответственно.

1 голос
/ 20 января 2020

Используйте это:

@Echo Off
cmd /k "pushd E:\Java\MyApp & java -cp (myJAR) app.Server"
cmd /k "pushd E:\Java\MyApp & java -cp (myJAR) app.Node"
cmd /k "pushd E:\Java\MyApp & java -cp (myJAR) app.Client"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...