0

提前感谢您通过batch文件提供的宝贵意见,我正在尝试将那些以空格开头的内容read line by line a text file 除外。

我试过这个:

for /f "eol=^"" " %%x in (file.txt) 做回显。%%x>out 我所做的也是从文件中读取以空格开头的行。

我也试过这个: for /f "tokens=*" %%a in ('find /v ^" " %1') do ( echo.%%a pause 控制台输出为空。

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

画点东西

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

画点别的

============================= ........... …………

对于此示例,我必须逐行阅读

画点东西

画点别的

任何帮助!

4

2 回答 2

1

哦,这很容易!

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

查找以文字字符串开头的行除外 /v /b " " /c:" "

findstr /?从 docco 的提示中看到...

于 2013-03-26T12:34:12.837 回答
0

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

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

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

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

于 2013-03-26T13:48:57.233 回答