我有一个属性文件(test.properties),它有一个包含多个字符串的变量。
例如:var = str1; str2; str3; .....
我需要在我的批处理文件(abc.bat)中使用上面的属性文件,这样我就可以逐行打印这些值。批处理文件的输出应该如下所示......
str1
str2
str3
...
...
(依此类推)
任何帮助都可以被赞赏。谢谢:)
我曾尝试使用" for loop"以这种方式从第一个分隔符(=)中分离值...
IF EXIST "test.properties"
(
ECHO test.properties file found
for /F "tokens=1,2 delims==" %%A IN (test.properties) DO
(
set value="%%B"
ECHO !value!
)
)
Output=str1;str2;str3;....
现在,如果我想解析"!value中的字符串!"逐行使用......
for /F "tokens=* delims=;" %%x IN ("!value!") DO
(
ECHO %%x
)
我正面临错误.....有什么帮助吗?
答案 0 :(得分:1)
只需使用普通for
来获取列表的元素(;
是标准分隔符)
@echo off
setlocal enabledelayedexpansion
>test.properties echo var=str1;str2;str3;str4;str5;str6
IF EXIST "test.properties" (
ECHO test.properties file found
for /F "tokens=1,2 delims==" %%A IN (test.properties) DO (
set "value=%%B"
ECHO !value!
)
for %%x IN (!value!) DO echo %%x
)