【发布时间】:2016-08-11 01:25:11
【问题描述】:
我需要编写一个 Windows 批处理脚本。 从给定目录开始,我需要检查每个具有给定文件名的文件中是否至少出现一次给定文本。
例如: 从目录 C:\MyDir 开始,我需要检查该目录和所有子目录中是否有名为“MyFile.txt”的文件。找到的每个文件都必须至少出现一次文本“MyText”。
到目前为止,我所拥有的是:
FOR /R C:\MyDir %%f in (MyFile.txt*) do (
FINDSTR /i /c:"MyText" %%~f
)
问题:
- 这也将匹配名称为 MyFile.txtXXX 的文件
- 它只打印出现,但不“返回”是否找到这样的出现。此代码位于批处理脚本中,如果有一个文件没有出现此类错误,则该脚本必须退出。
【问题讨论】:
-
为什么是
MyFile.txt*?这可以翻译成“找到所有(不)包含'MyText'的'MyFile.txt'”吗? -
是的,这就是目标:“找到所有不包含'MyText'的'MyFile.txt'
标签: batch-file