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

时间:2018-06-22 05:26:00

标签: batch-file

我正试图根据问题变量是否包含“,”逗号来创建if语句的批处理脚本,而不显示变量值。

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

"       RS_Path = c:\data\RV\R\"
"       RS_Path = c:\data\RV\RS\,C:\data\RV2\RS2"

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

以下实现此目的的工作,但是,如果不存在“,”,它将在命令行窗口中显示%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进行重写以达到相同的结果,如前所述,而不在命令行中显示变量值。在我在命令行之前和之后显示用户参考信息时,显示命令行并不重要,因此最小化或隐藏命令行窗口不是一个选择。

谢谢

1 个答案:

答案 0 :(得分:2)

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

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