读取 CSV 中的变量并检查该行单元格中是否存在另一个变量

读取 CSV 中的变量并检查该行单元格中是否存在另一个变量

我正在尝试创建一个批处理文件来读取 CSV 文件以查找作为变量的用户名,然后检查该行上的接下来的 10 个单元格是否与另一个作​​为数字的变量匹配。

示例 CSV:

bsmith, 22, 14, 15, 12, 18, 19
cwright, 10, 15, 11, 2
hwrong, 2, 6, 3
csmith, 10, 16, 19, 3, 5, 19, 18, 7, 2, 4

任何帮助都将不胜感激!谢谢

我有这个来查找用户名,但现在我想检查数字是否与另一个变量匹配:

变量包括:“用户名”和“站点号”

findstr /c:"%username%" "ACL.csv" >nul 2>&1
IF NOT ERRORLEVEL 1 (
echo AUTHORIZED
) else (
echo UNATHORIZED!!!!
)

答案1

我想检查这些数字是否与另一个变量匹配

|只需将第一个的输出通过管道( )findstr传输到另一个输出findstr即可,如下所示:

findstr /c:"%username%" "ACL.csv" | findstr /c:" %sitenum%," >nul 2>&1

笔记:

  • 前导(空格)和尾随,(逗号)很重要,因为这可以防止 1 匹配 11(例如)

答案2

如果您使用 FINDSTR 命令的有限正则表达式选项,您应该能够使用一个 FINDSTR 来完成此操作。

findstr /r /c:"%username%,.* %sitenum%," /c:"%username%,.* %sitenum%$" "ACL.csv"

相关内容