Как я могу запустить файл .jar с терминала без указания его имени - PullRequest
1 голос
/ 07 августа 2020

Как я могу выполнить файл .jar в папке из Windows cmd без указания его имени.

Я пробовал команду ниже (так как в этой папке есть только 1 банка *), но ее не работает (ошибка: невозможно получить доступ к jarfile * .jar).

java -jar *.jar

Ответы [ 2 ]

2 голосов
/ 07 августа 2020

Я не уверен, что было бы неплохо просто запустить все в каталоге, но вы можете:

FOR %A IN ("*.jar") DO (java -jar "%~A")
0 голосов
/ 09 августа 2020

Итак, вы, похоже, спрашиваете, как запустить команду

 % java -jar somelongname.jar

как

 % java -jar *.jar 

, чтобы избежать ввода текста. Это невозможно, потому что ни оболочка Windows CMD, ни команда java не будут расширять шаблон подстановки *.jar.

(В Linux / Unix / MacOS оболочка делает подстановочные знаки перед передачей аргументов команде. В Windows за это отвечает команда. На практике кажется, что команда java только расширяет подстановочные знаки в аргументах, которые будут переданы вашему application; см. Прекратить расширение подстановочных знаков в аргументах командной строки до Java)

Поэтому, если вы не хотите вводить эти надоедливые символы в Windows, вам нужно будет сделать что-то вроде :

  • напишите простой BAT-файл для запуска «java -jar somelongname.jar», или
  • напишите умный BAT-файл для идентификации и запуска JAR-файла, который соответствует « * .jar "или
  • используйте Powershell.

Как бы то ни было, я думаю, что то, что вы пытаетесь сделать, довольно опасно. Это немного похоже на ввод «di *» для запуска «dir». Что, если есть другая, более опасная команда в PATH, которая будет соответствовать вместо "dir"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...