Простите.Я не могу удержаться от соблазна опубликовать этот ответ ...
Предположим, у вас есть числовая переменная, которая может иметь значения 10, 25 и 50, и вы хотите добавить ее в общую переменную.Вы можете сделать это следующим образом:
if %num% equ 10 set /A total+=10
if %num% equ 25 set /A total+=25
if %num% equ 50 set /A total+=50
... или вы можете сделать это следующим образом:
set /A total+=num
Какой вариант вы бы предпочли?
Проблема с вашим кодом заключается в том, что вы активируете отложенное расширение в момент назначение выполнено.Просто удалите его и, если вам это нужно, просто включите его позже:
SETLOCAL
For /F "delims=" %%A IN (path/values.properties) DO set "%%A"
SETLOCAL EnableDelayedExpansion
echo Password=!password!
Другие изменения в коде объясняются в первой части этого ответа.Кавычки вокруг %%A
используются для защиты других специальных символов, таких как &
или >
.