检查变量是否包含逗号,而不显示变量值



我正在尝试创建一个批处理脚本来执行 if else 语句,具体取决于有问题的变量是否包含","逗号而不显示变量值。

我有一个变量 %PATHTMP%,它可能是两个值之一 =

"       RS_Path = c:dataRVR"
"       RS_Path = c:dataRVRS,C:dataRV2RS2"

我想确定是否有 ,逗号,因为这将允许我确定变量中是否有两条路径。

以下工作是实现此目的,但是,如果不存在",",则会在命令行窗口中显示 %PATHTMP% 的值。我不希望显示该值。

@echo off
echo.%PATHTMP%|findstr /C:"," >nul 2>&1
if not errorlevel 1 (
echo Comma , found
) else (
echo Comma , not found
)

问题是以下行显示值,如果不存在逗号。

echo.%PATHTMP%|findstr /C:"," >nul 2>&1

任何人都可以建议如何在不存在逗号时抑制此行中的变量值。我尝试使用>nul 2>nul但没有成功。或者,如何重写以使用 if else 实现相同的结果,如前所述,而无需在命令行中显示变量值。显示命令行并不重要,因为我在此命令之前和之后的命令行中显示用户参考信息,因此最小化或隐藏命令行窗口不是一种选择。

谢谢

检查这一点的另一种方法是尝试从字符串中删除逗号,以查看变量是否仍然等于自身。

IF NOT "%PATHTMP:,=%"=="%PATHTMP%" echo comma found

最新更新