Содержит ли файл свойств пробелы между =
?
Что-то вроде этого будет читать все свойства и отображать только их значения:
@echo off
for /f "tokens=2 delims== " %%i in (testing.properties) do echo %%i
pause
, где будет отображаться имя свойства, а также значение:
@echo off
for /f "tokens=1,* delims== " %%i in (testing.properties) do echo Property: %%i Value: %%j
pause
, если вы действительно хотите установить свойства как переменные (для использования в качестве читаемых переменных).
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,* delims== " %%i in (testing.properties) do (
set property=%%i
set value=%%j
echo !property! !value!
)
pause
Сравнение значений и их установка - это отдельная задача. Здесь вы даете пример, поэтому приведите реальный пример, и мы можем работать оттуда. Например. Мы можем установить значение имени свойства в качестве допустимого имени, не вводя его вручную:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,* delims== " %%i in (testing.properties) do (
set %%i=%%j
echo Property: %%i has Value: !%%i!
)
pause
или даже добавить что-то в строку:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,* delims== " %%i in (testing.properties) do (
set local_%%i=%%j
echo Property: %%i has value !local_%%i! set as Variable local_%%i
)
pause
Наконец, присвоение вашим переменным уникальных имен будет зависеть от некоторых критериев поиска, вы, вероятно, можете использовать идентификаторы из ваших свойств. Например, введите findstr
для части вашего свойства, или просто сопоставьте числовое значение или что-нибудь уникальное в свойстве.