Поиск строки в файле в любом месте на ПК с помощью Findstr

2799
amiregelz

У меня есть текстовый файл (.txt), расположенный где-то на моем ПК, который содержит кучу данных, включая следующую строку:

Secret Username: *********  Secret Password: ********* 

Как я могу найти этот файл из командной строки, используя Findstr ?
Я не знаю, находится ли он на диске C: или на диске D :.

Я пробовал различные Findstrзапросы, такие как:

findstr /s /m /n /i Secret Username C: findstr /s /m /n /i Secret Username D: findstr /s /m /n /i /c:"Secret Username" findstr /s /m /n /r /i .*Secret Username.* 

но не смог найти файл.

0

1 ответ на вопрос

3
bummi
findstr /S /M /I /C:"Secret Username" C:\*.txt 
Он находит сотни файлов (много файлов Java), но они никак не могут содержать эту строку. Это потому, что он не ищет всю строку? amiregelz 11 лет назад 0
извините, произошла ошибка, я сделал правку ... bummi 11 лет назад 0
Вы знаете, начинается ли поиск с того места, где находится `cmd.exe`, или по пути, указанному в самой командной строке (для меня это` C: \ Users \ amiregelz`)? amiregelz 11 лет назад 0
поэтому он заканчивается на C: \ *. *, у вас есть учетные данные? bummi 11 лет назад 0
Файл не найден (я ждал более 5 минут) :-( У вас есть идеи, почему? Кроме того, пожалуйста, добавьте `/ M` к запросу, так как в противном случае он показывает все содержимое каждого файла, и это не так. хорошая идея, потому что файл, который я ищу, содержит много данных. amiregelz 11 лет назад 0
Переключатель / N уже ограничивает вывод соответствующей строкой. Кроме того, команда обрабатывает около 1 ГБ в минуту. Есть очень приблизительная оценка, но сканирование всего диска C: обычно занимает несколько часов, а не пять минут. Вы можете ограничить поиск .txt-файлами для значительного увеличения производительности. Я отредактировал ответ соответственно. Marcks Thomas 11 лет назад 1
@MarcksThomas Спасибо за информацию, после поиска `.txt` только он нашел файл через 30 секунд. amiregelz 11 лет назад 0
@ Маркс Томас спасибо, извините, что не видел (* .txt) .... bummi 11 лет назад 0
@MarcksThomas: ** / N ** печатает номер строки перед каждой соответствующей строкой, тогда как ** / M ** печатает только имя файла, если файл содержит совпадение. Поскольку файл должен быть расположен, / M должен привести к меньшему количеству строк вывода и, следовательно, к более быстрому поиску. Karan 11 лет назад 0

Похожие вопросы