我正试图根据问题变量是否包含“,”逗号来创建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进行重写以达到相同的结果,如前所述,而不在命令行中显示变量值。在我在命令行之前和之后显示用户参考信息时,显示命令行并不重要,因此最小化或隐藏命令行窗口不是一个选择。
谢谢
答案 0 :(得分:2)
另一种检查方法是尝试从字符串中删除逗号,以查看变量是否仍然等于其自身。
IF NOT "%PATHTMP:,=%"=="%PATHTMP%" echo comma found