通过批处理文件将没有空格的行提取到文本文件中

时间:2013-03-26 12:19:23

标签: windows batch-file

提前感谢您的宝贵意见 通过batch文件,我正在尝试read line by line a text file ,但以空格开头。

我试过这个:

for / f“eol = ^”“”(file.txt)中的%% x做回声。 %% X>出 我所做的还是从文件中读取带空格的行。

我也试过这个: for / f“tokens = *”%% a in('find / v ^“”%1')do(    回音。%%一 暂停 控制台输出为空。

假设我的文件看起来像这样:

画一些东西

* ** * ** * 第1步 * ** * ****

画别的东西

============================     ...............................

对于这个例子,我必须读一行又一行

画一些东西

画别的东西

任何帮助!!

2 个答案:

答案 0 :(得分:1)

哦,这很简单!

findstr /v /b /c:" " <file.txt

找到 EXCEPT /v 开头 /b 文字字符串" " {{1 }}

从docco的提示中查看/c:" "

答案 1 :(得分:0)

您找到了正确的FOR / F选项,但未找到正确的用法。将跳过以EOL字符开头的所有行,EOL=之后的下一个字符始终是EOL字符。你只想在平等之后找一个空格。

您还希望保留整行,因此您需要将DELIMS设置为空。

for /f  "eol= delims=" %%x in (file.txt) do echo. %%x>out

Peter Wright的FINDSTR解决方案是一种消除以空间开头的线条的简单方法。但是我假设您希望对每个不以空格开头的行进行额外的处理。