.fichiers bat pour compiler et exécuter java stuff


J'essaie de créer deux fichiers bat. l'un est c. bat et l'autre est r. bat

C. bat contient juste:

cls
javac *.java

Qui compilera tout .les fichiers java.

Dans r. bat j'ai:

cls
java *

Il n'exécutera pas les fichiers de classe. Je pense que c'est parce que le * dans la ligne "java *" se traduit par "java Class1.classe", " java Class2.classe" et donc un moment où il devrait être "java Class1" et "java Class2" seulement. (sans les extensions) comment puis-je faire cela? Je viens de commencer à apprendre ces choses et je ne trouve nulle part la bonne réponse.

Author: Mat, 2012-10-26

1 answers

Les boucles suivantes sur tous les fichiers .java trouvés dans C:\java\stuff et les exécute les uns après les autres. Le %%~nf formate le nom des fichiers pour ne pas afficher l'extension de fichier , c'est-à-dire le nom de classe java . Si vous modifiez java %%~nf à echo java %%~nf, vous pouvez voir exactement ce qui se passe.

cls
for "C:\java\stuff" %%f in (*.java) do (
    java %%~nf
)

Pour: Les options suivantes sont disponibles:

Variable with modifier  Description

%~I                     Expands %I which removes any surrounding 
                        quotation marks ("").
%~fI                    Expands %I to a fully qualified path name.
%~dI                    Expands %I to a drive letter only.
%~pI                    Expands %I to a path only.
%~nI                    Expands %I to a file name only.
%~xI                    Expands %I to a file extension only.
%~sI                    Expands path to contain short names only.
%~aI                    Expands %I to the file attributes of file.
%~tI                    Expands %I to the date and time of file.
%~zI                    Expands %I to the size of file.
%~$PATH:I               Searches the directories listed in the PATH environment 
                        variable and expands %I to the fully qualified name of 
                        the first one found. If the environment variable name is 
                        not defined or the file is not found by the search,
                        this modifier expands to the empty string. 
 2
Author: Chris Seymour, 2012-10-26 16:31:22