Чтение FINDSTR Выход во всестороннем List of undocumented features and limitations of FINDSTR по Dave Benham ака dbenham:
... После печати имя_файла всегда будет включать в себя любой путь информацию. Дополнительная информация о пути будет добавлена, если используется опция /S
. Печатный путь всегда относительный к предоставленному пути или относительно текущего каталога, если он не указан.
Следовательно, укажите абсолютный путь . Например: вместо
findstr /S /M /I /C:"string being searched for" *.txt
использование
findstr /S /M /I /C:"string being searched for" "%CD%\*.txt"
Конечно, все /S /M /I /C:
переключатели, указанные в приведенном выше примере, являются опциональный:
d:\bat\files>findstr "success" *.txt
netuser.txt:The command completed successfully.
typeperf.txt:The command completed successfully.
d:\bat\files>findstr "success" "%CD%\*.txt"
d:\bat\files\netuser.txt:The command completed successfully.
d:\bat\files\typeperf.txt:The command completed successfully.
Ссылка на оригинал цитата была бы неплохой, вот где SS64 получил информацию. Тем более, что исходный пост был на StackOverlow - http://stackoverflow.com/q/8844868/1012053. – dbenham
Кроме того, я считаю, что OP хочет, чтобы имя файла начиналось перед каждой соответствующей строкой, что исключало бы опцию '/ M'. – dbenham
@dbenham прошу простить мою тень на происхождение цитаты; см. мое редактирование на переключателе '/ M' :) – JosefZ