2016-08-22 56 views
0

我有一個文本文件包含幾個不同的行。我想獲取以CellNumber開頭的行的編號,例如解析文本文件得到編號

file.txt的

Hello there 
my name is struct 
CellNumber 4.0050 
I am from Timbuktu 

我怎麼能存儲在一個變量數量4.005?

這是我的嘗試:

for /F "tokens=*" %%A in (file.txt) do (
    echo %%A 

    IF "%%A:~0,10%"=="CellNumber" (
     set var=%var:~-5% 
    ) 
) 

echo result: %var 
+1

可能重複的[從文本文件分配一個值到變量](http://stackoverflow.com/questions/18800484/assigning-a-value-從-A-文本音響勒到一個可變的) – aschipfl

回答

3

太複雜。使用findfindstr來獲得所需的行和適當的令牌和分隔符來解析該行。所有你需要的是:

for /F "tokens=2" %%A in ('type file.txt^|findstr /b "CellNumber"') do set var=%%A 
echo result: %var% 

閱讀for /?代幣和分隔符。

這樣就避免了/糾正在你的代碼的四個錯誤:
- 你不能for變量(%%A
使用子 - 你需要delayed expansion
- 變量與%var%參考,並不%var
- 在你的例子中,你需要六個字符,而不是五個