Ich versuche, Variablen aus einer Batch-Datei für die spätere Verwendung im Batch-Skript, einem Java-Launcher, zu lesen. Ich hätte am liebsten das gleiche Format für die Einstellungsdatei auf allen Plattformen (Unix, Windows) und wäre auch eine gültige Java-Eigenschaftendatei. Das heißt, es sollte so aussehen:
%Vor%Kann man solche Werte lesen wie in einem Unix-Shell-Skript? Das könnte etwa so aussehen:
%Vor% Ich weiß, dass dies wahrscheinlich mit SET setting1=Value1
möglich ist, aber ich hätte lieber das gleiche Dateiformat für die Einstellungen auf allen Plattformen.
Zur Klarstellung: Ich muss dies in der Befehlszeile / Stapelumgebung tun, da ich auch Parameter festlegen muss, die nicht innerhalb der JVM geändert werden können, wie -Xmx oder -classpath.
Sie können dies in einer Batch-Datei wie folgt tun:
%Vor%Dies liest eine Textdatei mit Zeichenfolgen wie "SETTING1 = VALUE1" und ruft SET auf, um sie als Umgebungsvariablen festzulegen.
Mitsetlocal / endlocal begrenzen Sie den Umfang der Umgebungsvariablen auf die Ausführung Ihrer Batch-Datei.
Der CMD-Befehlsprozessor ist ziemlich mächtig, allerdings mit einer ziemlich byzantinischen Syntax.
Sie können die Eigenschaftendatei als Parameter an ein Java-Programm übergeben (das später das Hauptprogramm starten kann). Und dann profitieren Sie vom Multi-Plattform-Paradigma.
Es kann sinnvoll sein, nur bestimmte Variablen aus einer Eigenschaftendatei zu importieren (die Sie schon vorher kennen). In diesem Fall empfehle ich eine Funktion wie die folgende:
%Vor% Was würde von call:parsePropertiesFile props.properties setting1 setting2
aufgerufen werden, um die Variablen setting1 und setting2
Sie können dies in einer Batch-Datei wie folgt tun:
%Vor%Dies liest eine Textdatei mit Zeichenfolgen wie "SETTING1 = VALUE1" und ruft SET auf, um sie als Umgebungsvariablen festzulegen.
Mitsetlocal / endlocal begrenzen Sie den Umfang der Umgebungsvariablen auf die Ausführung Ihrer Batch-Datei.
Der CMD-Befehlsprozessor ist ziemlich mächtig, allerdings mit einer ziemlich byzantinischen Syntax.
Ich versuche, Variablen aus einer Batch-Datei für die spätere Verwendung im Batch-Skript, einem Java-Launcher, zu lesen. Ich hätte am liebsten das gleiche Format für die Einstellungsdatei auf allen Plattformen (Unix, Windows) und wäre auch eine gültige Java-Eigenschaftendatei. Das heißt, es sollte so aussehen:
%Vor%Kann man solche Werte lesen wie in einem Unix-Shell-Skript? Das könnte etwa so aussehen:
%Vor%Ich weiß, dass dies wahrscheinlich mit %code% möglich ist, aber ich hätte lieber das gleiche Dateiformat für die Einstellungen auf allen Plattformen.
Zur Klarstellung: Ich muss dies in der Befehlszeile / Stapelumgebung tun, da ich auch Parameter festlegen muss, die nicht innerhalb der JVM geändert werden können, wie -Xmx oder -classpath.
Es kann sinnvoll sein, nur bestimmte Variablen aus einer Eigenschaftendatei zu importieren (die Sie schon vorher kennen). In diesem Fall empfehle ich eine Funktion wie die folgende:
%Vor%Was würde von %code% aufgerufen werden, um die Variablen setting1 und setting2
zu setzenSie können auch von einem Java-Programm auf die Umgebungsvariablen des Betriebssystems zugreifen:
%Vor%Sie können die Eigenschaftendatei als Parameter an ein Java-Programm übergeben (das später das Hauptprogramm starten kann). Und dann profitieren Sie vom Multi-Plattform-Paradigma.
Tags und Links java command-line windows environment-variables cmd