2014-09-29 2 views
1

У меня есть этот текстовый файл:Синтаксический TXT файл для значения

NAME=MDF 
VERSION=20140710 
RELEASE_LIBRARY_DIRS= 
DEBUG_LIBRARY_DIRS= 
RELEASE_LIBRARIES= 
DEBUG_LIBRARIES= 
RELEASE_DEFINITIONS= 
DEBUG_DEFINITIONS= 

Я хочу, чтобы разобрать номер версии и сохранить его в переменной. Я никогда не делал ничего подобного в партии, а петли меня путают. Это то, что у меня есть до сих пор. В основном из другого источника.

@ECHO off 

SET /P MYVAR=<MDFinfo.txt 
ECHO MYVAR=%MYVAR% 
FOR /f "tokens=1,2* delims==" %%I IN ("%MYVAR%") DO (
    ECHO LINE=%%I 
    ECHO RESULT=%%J 
    SET /A RESULT=%%I 
) 
ECHO The number is: %RESULT% 
pause 

Это Echoing NAME и MDF, но не строка, которую я хочу. Также, когда результат печатается в конце, он равен 0. Может кто-нибудь объяснить мне, как работают токены и делимы? Также как я могу вытащить номер версии. Текстовый файл не может быть изменен.

Благодаря

+0

возможного дубликата [Синтаксические строки в пакетном файле] (http://stackoverflow.com/questions/12629775/parsing-string-in-batch-file) – VoteCoffee

+0

Thats for parsing string. Я не могу понять, как получить более одной строки @VoteCoffee – Kierchon

+0

Как насчет того, чтобы впустить нас в некоторые секреты? Например, какая строка - это «строка, которую я хочу», и то, что вы ожидаете выйти, например. Вам нужна фактическая строка, или вы хотите номер строки, или и то, и другое? – Magoo

ответ

2
@echo off 

FOR /f "delims=" %%I IN ('find /i "version=" ^< "c:\textfile.txt" ') DO (
    set "%%I" 
) 
echo %version% 

Не тестировались

+0

Закрыть, но я смог получить его благодаря вашему заявлению FOR – Kierchon

Смежные вопросы