1

Я пытаюсь создать командный файл для чтения 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

любая помощь будет принята с благодарностью! Спасибо

У меня есть это, чтобы найти имя пользователя, но теперь я хочу проверить числа, если они соответствуют другой переменной:

Переменные: 'username' и 'sitenum'

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

2 ответа2

1

Я хочу проверить числа, если они соответствуют другой переменной

Просто передайте (|) вывод из первого findstr в другой findstr следующим образом:

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

Замечания:

  • ведущий (пробел) и конечный , (запятая) важны, так как это предотвращает 1 соответствие 11 (например)

0

Если вы используете ограниченные параметры регулярного выражения команды FINDSTR, вы сможете сделать это с одним FINDSTR.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .