Batch file 如何使用批处理脚本读取文本文件

Batch file 如何使用批处理脚本读取文本文件,batch-file,batch-processing,Batch File,Batch Processing,我想用批处理脚本读取文本文件, 我有一个日志文件,其中包含一些数据,我想从该文本文件中读取构建编号并显示 示例:构建:2016.17.05\u 0872 有没有办法这样读 @echo off findstr /m "Build" C:\Users\admin.DESKTOP-CUDDLMA\Desktop\a.txt if %errorlevel%==0 ( echo Build found ) @pause 这就是我到目前为止所做的,它只是在文件中搜索该单词。您可以使用grep简单地完成

我想用批处理脚本读取文本文件, 我有一个日志文件,其中包含一些数据,我想从该文本文件中读取构建编号并显示

示例:构建:2016.17.05\u 0872

有没有办法这样读

@echo off
findstr /m "Build" C:\Users\admin.DESKTOP-CUDDLMA\Desktop\a.txt
if %errorlevel%==0 (
 echo Build found
)

@pause

这就是我到目前为止所做的,它只是在文件中搜索该单词。

您可以使用grep简单地完成此操作

grep "BUILD" filename.txt
在Windows中(“批处理”听起来像Windows),您可以使用:

find /I "build" *.log

以下是根据您提供的有限信息,我的最佳猜测得出的选项:

我猜你的
FileName.txt
看起来有点像这样:

This is the first line
Name:MyProject Build:2016.17.05_0872 Author:Jacob
There are other words on this line
…您希望将以下内容作为输出:

2016.17.05_0872
@Echo关闭
SetLocal EnableExtensions DisableDelayedExpansion
设置“srcFile=FileName.txt”
设置“srcTerm=Build:”
对于/F“Delims=“%%A In('FindStr/LIC:“%srcTerm%”、%srcFile%”2^>Nul)中的(
设置“u=%%A”
SetLocal EnableDelayedExpansion
对于(“!\*%srcTerm%=!”)中的/F%%B,执行Echo=%B
(本地)
超时-1
端部
后藤:EOF

只需更改第4行的文件名,以匹配您正在搜索的实际文本文件名。

您的问题不清楚,因此我将尝试完成它

如果您有这样一个文本文件:

First line
Build:2016.17.05_0872
Other line
。。。您希望将此行作为输出:

2016.17.05_0872
。。。然后,此批处理文件解决了您的问题:

@echo off
for /F "tokens=2 delims=:" %%a in ('findstr "Build" textFile.txt') do echo %%a

Windows本机不附带grep。这个答案没用。很抱歉,我是这项技术的新手。你能写完整的代码吗?@Resu:这是完整的代码。但是Unix代码。翻译到windows世界:
find/i“Build:”filename.txt
它搜索所有的构建词很抱歉,但我不熟悉这项技术,你能写完整的代码吗?在windows中,启动命令提示符-Win-R,cmd,Enter。然后在日志文件所在的文件夹中键入给定的命令。或者用完整路径指定文件名。您不描述您的环境。请阅读a是什么。不是脚本编写服务,所以请显示您已经拥有的代码以及卡住的地方。请使用codetry检查编辑的问题,而不使用
/m
。查看
以获取/?
什么是
/m
做的。这真的与标记spring批处理有关吗?好的,我知道了,但我想在构建word之后阅读这一行。它从一开始就在读整行你用我上面贴的3行文件测试过吗?请注意,您没有提供任何示例输入文件<代码>:(