1

我正在寻找一个批处理脚本来搜索文件中的变量并读取它的值。示例:我的文本文件的行为

VERSION=6.0.196.0
CS_VERSION=6.0

我希望我的批处理脚本找到该变量并将其值 ( )VERSION读取到我的批处理脚本中的一个变量,然后将( ) 的值读取到另一个变量。6.0.196.0PVERSIONCS_VERSION6.0DVERSION

我怎样才能做到这一点?搜索了一些类似的问题,但他们给我的输出如下:

PVERSION==VERSION=6.0.196.0
DVERSION==CS_VERSION=6.0.

我只需要输出为

PVERSION=6.0.196.0
DVERSION=6.0.

请提前帮助和感谢。

4

1 回答 1

3

一种方法(读取每一行,=将 lhs/rhs 定界并捕获到%%A& %%B);

@echo off
setlocal EnableDelayedExpansion
for /F "eol= tokens=1,2 delims==," %%A in (the.file) do (
    if "%%A"=="VERSION" (
        set version=%%B
    ) else if "%%A"=="CS_VERSION" (
        set cs_version=%%B
    )
)

echo VERSION is %version%
echo CS_VERSION is %cs_version%

测试;

@echo off
@(
echo 1
echo 2
echo 3
echo 4
echo 5
echo 6
echo 7
echo 8
echo 9
echo 10
echo 11
echo 12
echo 13
echo 14
echo 15
echo 16
echo 17
echo VERSION=6.0.196.0
echo CS_VERSION=6.0
) > the.file

setlocal EnableDelayedExpansion
for /F "eol= tokens=1,2 delims==, skip=17" %%A in (the.file) do (
    if "%%A"=="VERSION" (
        set version=%%B
    ) else if "%%A"=="CS_VERSION" (
        set cs_version=%%B
    )
)

echo VERSION is %version%
echo CS_VERSION is %cs_version%
于 2012-10-30T11:06:00.333 回答