gpt4 book ai didi

batch-file - 如何检查文本文件中是否批量包含某些文本?

转载 作者:行者123 更新时间:2023-12-03 15:18:27 25 4
gpt4 key购买 nike

我的文本文件与批处理文件位于同一文件夹中。

所以我希望我的批处理文件读取文本文件的内容,并根据该文本文件的内容执行操作。

例如,如果文本文件包含“ Hello World”,则类似于启动VLC
如果其中不包含Hello World,请执行其他操作。

文本将自行更新。

到目前为止,这是我的批处理代码,它可以从屏幕上的文本文件输出文本。

@echo off
for /f "tokens=*" %%a in (log.txt) do call :processline %%a

pause
goto :eof

:processline
echo line=%*

goto :eof

:eof

最佳答案

您应该使用FIND或FINDSTR。在命令提示符下键入HELP FINDHELP FINDSTR以获取文档。 FIND非常简单可靠。 FINDSTR功能强大得多,但也很有气质。有关更多信息,请参见What are the undocumented features and limitations of the Windows FINDSTR command?

您不必关心这两个命令的输出,因此可以将输出重定向到nul。

如果找到字符串,则两个命令都将ERRORLEVEL设置为0,如果找不到字符串,则将ERRORLEVEL设置为1。您可以使用&&||运算符有条件地执行代码,具体取决于是否找到了字符串。

>nul find "Hello World" log.txt && (
echo "Hello World" was found.
) || (
echo "Hello World" was NOT found.
)

>nul findstr /c:"Hello World" log.txt && (
echo "Hello World" was found.
) || (
echo "Hello World" was NOT found.
)


您也可以在IF语句中测试ERRORLEVEL,但我更喜欢上面的语法。

关于batch-file - 如何检查文本文件中是否批量包含某些文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13476663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com