如何检查某些字符串(记录的文本文件中的行)是否以批处理中的特定单词开头?
我知道如何检查句子/行(字符串)中是否存在单词(子字符串),但是如何用这个单词检查天气呢?
谢谢 :)
这可以这样做FINDSTR:
FINDSTR "^searchterm"
Run Code Online (Sandbox Code Playgroud)
将^在搜索表达式的开头指定您在一行的开头专门找子.
请注意,默认情况下FINDSTR会执行区分大小写的搜索.要搜索不管字母大小写,请指定/I开关:
FINDSTR /I "^searchterm"
Run Code Online (Sandbox Code Playgroud)
可以指定搜索源:
作为参数:
FINDSTR /I "^searchterm" filename
Run Code Online (Sandbox Code Playgroud)
使用stdin重定向:
FINDSTR /I "^searchterm" < filename
Run Code Online (Sandbox Code Playgroud)
使用管道:
command | FINDSTR /I "^searchterm"
Run Code Online (Sandbox Code Playgroud)
(在这种情况下,源是输出command)
如果要搜索多个文件,特别是如果它们位于同一目录或目录树中,则最简单的方法是使用上述三个文件中的第一个模式,因为filename在这种情况下可以是一个掩码:
FINDSTR /I "^searchterm" D:\path\to\files*.ext
Run Code Online (Sandbox Code Playgroud)
以上内容仅搜索指定目录中的文件.要搜索整个树,即包括所有子目录,请添加/S开关:
FINDSTR /I /S "^searchterm" D:\path\to\files*.ext
Run Code Online (Sandbox Code Playgroud)
其他有用的选项可以在内置帮助(运行FINDSTR /?)中找到.