逗人,
我希望你能帮助我,因为我失去了信心。 让我告诉你我做了什么,然后解释我需要做什么。
@echo off
echo "Which Site do you want to check?"
set /p ans="Site: "
echo.
for /f "tokens=1,2,3 delims=," %%A IN (animals.csv) DO if %%A==%ANS% (ping %%B AND ping %%C)
echo.
pause
echo.
cls
goto menu
问题是animals.txt有3列和很多记录。 我能够让脚本工作直到比较变量,然后我就停止了工作。
让我们说动物文件看起来像这样:
cat,111.111.111.111,122.122.122.122
dog,222.222.222.222,233.233.233.233
horse,333.333.333.333,344.344.344.344
帮助我,因为我卡住了,我也不知道怎么做。
答案 0 :(得分:1)
当您使用AND
替换&
时,您的脚本有效(请参阅SS64.com)
但是,让我建议一个略有不同的逻辑:
@echo off
echo "Which Site do you want to check?"
set /p ans="Site: "
echo.
for /f "tokens=1,2,3 delims=," %%A IN ('type animals.csv^|findstr /b "%ans%,"') DO (
ping %%B
ping %%C
)
echo.
pause
findstr
参数/b
表示"字符串应以"开头 - 阻止maddog
被识别为dog
搜索字符串中的尾随逗号会阻止catfish
被识别为cat
您可能希望添加/i
以使搜索不区分大小写(cat
和Cat
将被识别)。