CMD-скрипт неверный код возврата для команды findstr регулярного выражения конца строки

В сценарии CMD я пытаюсь определить, имеет ли строка «/» в качестве последнего символа или нет, используя регулярное выражение с командой findstr. Однако в оба случаях я получаю код возврата 1.

@echo off
SETLOCAL enabledelayedexpansion

SET Project=/Folder1
ECHO.%Project% | findstr /R /C:"/$" 1>nul
ECHO %errorlevel%

SET Project=/Folder1/
ECHO.%Project% | findstr /R /C:"/$" 1>nul
ECHO %errorlevel%

Есть ли здесь проблема с синтаксисом?


person B S    schedule 20.02.2019    source источник
comment
Между переменной и оператором канала есть пробел, который также включается в вывод команды echo. Ваша строка заканчивается пробелом.   -  person MC ND    schedule 20.02.2019
comment
@MC ND ... Это было легко! Спасибо!   -  person B S    schedule 20.02.2019
comment
N. B.: 1. Разделитель пути Windows — \ , а не /. 2. Лучше использовать синтаксис set "VAR=Value" в кавычках, чтобы защитить специальные символы и избежать непреднамеренных пробелов в конце. 3. Лучше заменить echo. на echo( (хотя это выглядит странно), потому что первый может выйти из строя при некоторых обстоятельствах.   -  person aschipfl    schedule 20.02.2019
comment
Связано (не могу найти настоящий дубликат, но я уверен, что уже видел его один раз): Передача переменной в FINDSTR с регулярными выражениями и экранированные двойные кавычки   -  person aschipfl    schedule 20.02.2019