Batch file 如何在批处理编程中从属性文件中读取值

Batch file 如何在批处理编程中从属性文件中读取值,batch-file,properties,Batch File,Properties,我有一个属性文件,其中包含以下格式的值 variable\u one=value\u one 变量二=值二 . . . . . 依此类推属性文件是否真的包含=之间的空格 类似的内容将读取所有属性并仅显示其值: @echo off for /f "tokens=2 delims== " %%i in (testing.properties) do echo %%i pause 其中将显示属性名称和值: @echo off for /f "tokens=1,* delims== " %%i

我有一个属性文件,其中包含以下格式的值

variable\u one=value\u one
变量二=值二
.
.
.
.

. 依此类推
属性文件是否真的包含
=
之间的空格

类似的内容将读取所有属性并仅显示其值:

@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 %%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
,或者只匹配一个数值或属性中唯一的任何内容。

是否要读取所有属性并显示其值,或者读取某些属性并显示其值?FOR循环必须如下所示,并且必须另外删除等号登录属性文件周围的难看空格:
FOR/F“usebackq tokens=1*delims==”%I in(“testing.properties”)是否设置“%%I=%%J”
。变量名称(行)不应以
开头
for的原因,代码>忽略这些行。如果等号周围没有空格,FOR循环将是:
FOR/F“usebackq delims=eol=“%%I in”(“testing.properties”)do set“%%I”
。另见
@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