/ X не будет работать, так как вся строка должна соответствовать строке поиска, и в этом случае она имеет префикс path =
. Кроме того, \
символы необходимо экранировать, чтобы они не интерпретировались как команды. Наконец, режим регулярных выражений поможет захватить правую строку, поскольку она заканчивается пробелом, а затем концом строки - конец строки можно представить в виде $
:
H:\>findstr /r /c:"\\Users\\sachin.a.goyal\\Desktop\\test\\ *$" biggest.txt path = \Users\sachin.a.goyal\Desktop\test\
Возможно, причина вашего зависания при поиске - это то, что команда \
совпадает с командой.
Если вы используете переменную для хранения искомого пути, вам все равно придется избегать обратной косой черты. Вы можете сделать это с помощью функции замены:
set path="c:\Users\sachin.a.goyal\Desktop\test\" set path=%path:\=\\% echo path c:\\Users\\sachin.a.goyal\\Desktop\\test\\
Во второй строке написано, замените все обратные слеши на двойные. К сожалению, у меня нет Windows-бокса для тестирования прямо сейчас, но вам, возможно, придется избежать обратной косой черты:
set path=%path:\\=\\\\%