Единственное, что я хотел бы добавить, - сделать его немного более гибким. В большинстве случаев у меня будет банальный java-файл, который я хочу запустить как - Main.java, Simple.java, Example.java или Playground.java (вы поняли).
Я использую следующее, чтобы убрать javac и соответствующую java.
@echo off
javac %~n1.java
java %~n1
% ~ n1 получает имя файла (без расширения) первого аргумента, переданного в пакетный файл. Таким образом, я могу запустить его, используя завершение табуляции, и не беспокоиться о том, что он работает с расширением .class или .java.
Таким образом, оба следующих результата будут иметь одинаковый результат:
run.bat Main.class
and
run.bat Main.java
Не дает 100% ответа на оригинальный вопрос об авторах, но я думаю, что это хороший следующий шаг / эволюция для простых программ javac / java.