Рабочий Java от пакетного файла Windows заставляет пакетный файл останавливаться

Когда я выполняю Java из Windows .cmd файл (Vista, 32-разрядная здесь), команда Java заставляет пакетный файл прекращать выполнять дополнительные команды.

Например, это - простой test.cmd файл:

java
java

Это должно заставить Java печатать свое сообщение справки дважды. Однако, когда я выполняю его в cmd.exe, я получаю это:

C:\>test

C:\>java
Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
...

C:\>

Пакетный файл просто выходит, когда Java выходит. Что продолжается здесь?

0
задан 23.08.2011, 09:11

2 ответа

Другая возможность состоит в том, что существует batchfile под названием Java, который становится названным, а не нормальный java.exe (хотя пакетный файл может вызвать исполняемый файл, возможно также настроив вещи как ПУТЬ К КЛАССУ заранее). Выполнение batchfile от другого передаст выполнение другому batchfile полностью, не возвращаясь к invoker. Чтобы выполнить его и затем продолжить выполнение исходного пакетного файла, используйте вызов:

call java

И посмотрите, имеет ли это значение.

2
ответ дан 24.11.2019, 06:44

Если у Вас есть и test.bat и test.cmd, затем вводящий test будет работать test.bat не test.cmd - пытается использовать команду test.cmd вместо этого.


C:\>type test.bat
@echo off
echo a =============================================
java
echo b =============================================

C:\>type test.cmd
echo 1 -------------------------------------------------
java
echo 2 -------------------------------------------------
java
echo 3 -------------------------------------------------

C:\>test

a =============================================

Usage: java [-options] class [args...]
           (to execute a class)
   or  java [-options] -jar jarfile [args...]
           (to execute a jar file)

where options include:
    -client       to select the "client" VM
    -server       to select the "server" VM
    -hotspot      is a synonym for the "client" VM  [deprecated]
                  The default VM is client.

...

b =============================================

C:\>
0
ответ дан 24.11.2019, 06:44

Теги

Похожие вопросы