【问题标题】:Parse Textfile to get number解析文本文件以获取数字
【发布时间】:2016-08-22 15:18:57
【问题描述】:

我有一个包含几个不同行的文本文件。我想获取以 CellNumber 开头的行号,例如

文件.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

【问题讨论】:

标签: batch-file command-line cmd


【解决方案1】:

太复杂了。使用 findfindstr 获取所需的行以及正确的标记和分隔符来解析该行。您只需要:

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

阅读 for /? 以获取标记和分隔符。

这可以避免/纠正代码中的四个错误:
- 您不能将子字符串与 forvariables (%%A) 一起使用
- 你需要delayed expansion
- 变量用%var% 引用,而不是%var
- 在您的示例中,您需要 六个 字符,而不是五个

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-23
    • 2013-12-12
    • 2019-12-29
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    相关资源
    最近更新 更多