首页 文章

使用批处理文件读取以数字开头的文本文件行

提问于
浏览
0

我不确定这是否可行,但有没有办法让批处理文件读取文本文件,但是跳过不以数字开头的行?

例如:

handled
219278
check
219276
control
219274
co
219268

for循环可以处理,检查,控制等吗?

我知道这个:

cscript C:\Users\c1921\Test\curltest.vbs"!$MyVar!">>C:\Users\c1921\Test\Datapoints\!$MyVar!.txt

将所有输出都放到此文本文件中但是:

FOR /F %%i in (C:\Users\c1921\Test\Datapoints\!$MyVar!.txt) DO (
set "$UnitID=%%i"
)

将每一行读入变量 . 我可以以某种方式使用delims和令牌来获取数字吗?

Edit:

我认为这可能是关于这个问题的答案:Windows Batch file to echo a specific line number

我在occassion上的文件可能没有单词之间的数字,例如:

handled
check
219276
control
219274
co
219268

这不应该经常发生,但我想确保我可以避免这种情况发生 .

2 回答

  • 1
    FINDSTR /b "[0-9]" q25003233.txt
    

    我使用了一个名为 q25003233.txt 的文件,其中包含我的测试数据 .

  • 1
    for /f "delims=" %%a in ('findstr /r /b /c:"[0-9]" "c:\somewhere\file.txt"') do echo %%a
    

    这使用 findstr 以常规表达式过滤输入文件,仅返回以数字开头的行

相关问题