2016-01-13 5 views
0

Существует простое поведение Findstr, что я не понимаю, на Windows 7.Почему findstr также выполняет поиск в файлах вне указанного каталога?

я запустить пакетный файл в режиме администратора (если нет, то они просто не запускать) со следующим сценарием в нескольких разных местах :

@echo off 
set local=%~dp0 
echo %local% 
REM to check that I am where I think I am 
findstr /s /i /c:"stringtofind" %local%*.ext 

Когда я запускаю этот скрипт из места в "C:\Program files\~" или "C:\Program files (x86)\~" выход включает .ext файлы вне каталога %local% и подкаталоги с "stringtofind". Фактически все соответствующие файлы находятся на жестком диске.

Это поведение не отображается в любом другом месте, где я мог бы проверить (где-нибудь еще в каталоге C: \) в основном), где отображается только соответствующий файл в каталоге и подкаталогах.

Есть ли что-то конкретное для каталогов Program files?

ответ

1

Try изменения в

findstr /s /i /c:"stringtofind" "%local%*.ext" 

В случаях вы упоминаете, то имя_каталога содержит пробелы, поэтому findstr находит несколько аргументов. «Использование котировок» групп «строки, содержащие пробелы» в одну строку.

+0

Это именно то, что происходит, спасибо за разрешение! – Akadalow

 Смежные вопросы

  • Нет связанных вопросов^_^