Считайте переменные среды из файла в Windows Batch (cmd.exe)

грамматики будут пытаться сначала найти соответствие этому правилу

Это так. Тем не менее, вы сделали унарный минус более низким приоритетом, чем бинарный плюс.

Это означает, что выражение интерпретируется как -((5+9)+1000) вместо (-(5+9))+1000.

9
задан Martin Probst 7 November 2008 в 13:28
поделиться

3 ответа

Можно сделать это в пакетном файле следующим образом:

setlocal
FOR /F "tokens=*" %%i in ('type Settings.txt') do SET %%i
java -Dsetting1=%setting1% ...
endlocal

Это читает текстовый файл, содержащий строки как "SETTING1=VALUE1", и называет НАБОР для установки их как переменных среды.

setlocal/endlocal используются для ограничения объема переменных среды к выполнению пакетного файла.

Командный процессор CMD на самом деле довольно мощен, хотя с довольно византийским синтаксисом.

18
ответ дан 4 December 2019 в 10:06
поделиться

Можно также получить доступ к переменным среды ОС из программы Java:

import java.util.Map;

public class EnvMap {
    public static void main (String[] args) {
        Map<String, String> env = System.getenv();
        for (String envName : env.keySet()) {
            System.out.format("%s=%s%n", envName, env.get(envName));
        }
    }
}
0
ответ дан 4 December 2019 в 10:06
поделиться

Можно передать файл свойств в качестве параметра программе Java (который может запустить основную программу позже). И затем преимущество от многоплатформенной парадигмы.

2
ответ дан 4 December 2019 в 10:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: