1

ファイル内の変数を検索してその値を読み取るバッチ スクリプトを探しています。例: 私のテキスト ファイルには次の行があります。

VERSION=6.0.196.0
CS_VERSION=6.0

バッチ スクリプトで変数を検索し、VERSIONその値 ( 6.0.196.0) をPVERSIONバッチ スクリプト内の変数に読み取り、次にCS_VERSION( 6.0) の値を別の変数に読み取りますDVERSION

これどうやってするの?同様の質問をいくつか検索しましたが、次のような出力が得られます。

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

私はちょうど出力が必要です

PVERSION=6.0.196.0
DVERSION=6.0.

助けてください、事前に感謝します。

4

1 に答える 1

3

一方向 (各行を読み取り、左/右を&に区切り=、キャプチャします);%%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 に答える