а) В регулярном выражении Findstr нет +
.Используйте *
вместо этого...*
должно быть правильной заменой .+
.
b) Может быть невидимый символ перед концом строки, например, вызванный echo
, если перед |
есть завершающий пробел.Добавьте еще .
перед концом строки, чтобы покрыть это.
C:\> echo a.txt | findstr /r ".*\.txt.$"
a.txt
Это также возможно без кавычек.