В сценарии 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%
Есть ли здесь проблема с синтаксисом?
echo
. Ваша строка заканчивается пробелом. - person MC ND   schedule 20.02.2019\
, а не/
. 2. Лучше использовать синтаксисset "VAR=Value"
в кавычках, чтобы защитить специальные символы и избежать непреднамеренных пробелов в конце. 3. Лучше заменитьecho.
наecho(
(хотя это выглядит странно), потому что первый может выйти из строя при некоторых обстоятельствах. - person aschipfl   schedule 20.02.2019