Сохранение переменных среды с их значениями можно выполнить с помощью:
set "SettingsFile=%TEMP%\%~n0.txt"
setlocal EnableExtensions EnableDelayedExpansion
(
echo ssl=!ssl!
echo always_use_https=!always_use_https!
echo minify=!minify!
echo key=!key!
echo many=!many!
) >"%SettingsFile%"
endlocal
Используйте для SettingsFile
все, что вы хотите, но дерево каталогов должно существовать.
Одна командная строкав пакетном файле достаточно прочитать их обратно из файла в переменные окружения:
for /F "usebackq delims=" %%I in ("%SettingsFile%") do set "%%I"
Вот и все. Задержка расширения не следует включать при считывании имен переменных среды и их значений из файла настроек для правильного считывания значений с одним или несколькими восклицательными знаками.
Для понимания используемых команд и того, какони работают, открывают окно командной строки, выполняют там следующие команды и полностью читают все страницы справки, отображаемые для каждой команды.
echo /?
endlocal /?
for /?
set /?
setlocal /?
Читайте также статью Microsoft о Использование операторов перенаправления команд .