1

В чем разница между /R и /C?

FINDSTR [options] [/F:file] [/C:string] [/G:file]
        [/D:DirList] [/A:color] [/OFF[LINE]] [string(s)] [pathname(s)]

/C:string   Use string as a literal search string.
/R          Use string as a regular expression.

Q:\>dir
 Volume in drive Q is New Volume
 Volume Serial Number is 3AB5-2465

 Directory of Q:\

16-10-2014  09:34             3,072 keyspaceword.exe
16-10-2014  09:34             3,072 keyword.main1.xml
16-10-2014  09:34             3,072 keyword.main2.jpeg
16-10-2014  09:34             3,072 keyword.main3.exe
16-10-2014  09:34             3,072 keywordandmore.exe
16-10-2014  09:34             3,072 somethingkeyword.exe
24-09-2014  09:35    <SYMLINKD>     symlink1 [Q:\IIM\NOEXTNS]
               6 File(s)         18,432 bytes
               1 Dir(s)   7,180,222,464 bytes free

Q:\>dir | findstr /c:keyword
16-10-2014  09:34             3,072 keyword.main1.xml
16-10-2014  09:34             3,072 keyword.main2.jpeg
16-10-2014  09:34             3,072 keyword.main3.exe
16-10-2014  09:34             3,072 keywordandmore.exe
16-10-2014  09:34             3,072 somethingkeyword.exe

Q:\>dir | findstr /r /c:keyword
16-10-2014  09:34             3,072 keyword.main1.xml
16-10-2014  09:34             3,072 keyword.main2.jpeg
16-10-2014  09:34             3,072 keyword.main3.exe
16-10-2014  09:34             3,072 keywordandmore.exe
16-10-2014  09:34             3,072 somethingkeyword.exe

Я думал, что получу только 3 файла с ключевым словом /c:(так как keywordandmore.exe ,thingkeyword.exe) не являются буквальными соответствиями для ключевого слова, верно?

Может ли кто-нибудь объяснить на примере, который подчеркивает разницу между ними? Я искал здесь, но я все еще не совсем уверен, правильно ли мое понимание.


Я думаю, что нашел разницу, но у меня все еще нет никакого объяснения, почему это происходит? А как насчет других метасимволов, от которых мне может потребоваться убежать?

Q:\>dir | findstr /r /c:keyword.
16-10-2014  09:34             3,072 keyword.main1.xml
16-10-2014  09:34             3,072 keyword.main2.jpeg
16-10-2014  09:34             3,072 keyword.main3.exe
16-10-2014  09:34             3,072 keywordandmore.exe
16-10-2014  09:34             3,072 somethingkeyword.exe

Q:\>dir | findstr /c:keyword.
16-10-2014  09:34             3,072 keyword.main1.xml
16-10-2014  09:34             3,072 keyword.main2.jpeg
16-10-2014  09:34             3,072 keyword.main3.exe
16-10-2014  09:34             3,072 somethingkeyword.exe

1 ответ1

1

В регулярных выражениях . соответствует любому персонажу.

Следовательно, ключевое слово шаблона поиска keyword. соответствует keyworda в имени файла keywordandmore.exe В этом причина несоответствия.

Для получения дополнительной информации о регулярных выражениях см. Здесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .