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