L oop над файлами в каталоге с оператором if (командный файл) - PullRequest
1 голос
/ 19 февраля 2020

Я пытаюсь создать bat-файл, чтобы скомпилировать все. java файлы в каталоге и запустить класс с именем Main (и вывести его в tulemused.txt). Я смог сделать это для одного. java файл с заданным именем, но я не знаю, как использовать пакетный сценарий достаточно хорошо, чтобы l oop по всем файлам.

@ECHO on

FOR /d %%f DO IF NOT %%f=="compile.bat" javac -encoding utf-8 %%f

java -Dfile.encoding=UTF8 Main > tulemused.txt

@ECHO off

Это то, как далеко я получил

Ответы [ 2 ]

0 голосов
/ 20 февраля 2020

Обнаружено, что это работает даже лучше, поскольку java хочет скомпилировать все классы одновременно, но благодарю Васифа за исправление исходного l oop

@ECHO on
set string=javac -encoding utf-8
 FOR /r %%f In (*.java) DO call :concat %%~nf
%string%
set /P name="What is the name of the class with the main method? "
java -Dfile.encoding=UTF8 %name% >result.txt
pause

:concat
set string=%string% %1.java
0 голосов
/ 19 февраля 2020

Попробуйте это:

@ECHO on
 FOR /r %%f In (*) DO IF NOT "%%~nf"=="compile.bat" javac -encoding utf-8 "%%~f" 
java -Dfile.encoding=UTF8 Main >tulemused.txt 
...