Возможно ли в одной строке без командного файла использовать findstr и вернуть только 0% errorlevel%, если все строки найдены?
Я составляю список драгоценных камней, в котором перечислено множество драгоценных камней. Затем я хочу использовать findstr / find, чтобы убедиться, что КАКАЯ строка, которую я ищу, существует. Если один из них не работает, он должен вернуть код ошибки, отличный от 0. В настоящее время он всегда будет возвращать код ошибки 0, если найдена какая-либо из строк. Кажется, он отлично работает с условиями ИЛИ, но не с условиями И. Как я могу это сделать?
C: ... список драгоценных камней | findstr "A B C D"
Мне нужен только код возврата 0, если он найдет ВСЕ из них. Если D не существует, он все равно распечатает A B C, что дает код ошибки 0.
Любые идеи?
FOR %G IN (foo, bar) DO (gem list | findstr %G)
Теперь, если я могу просто заставить его удерживать код ошибки для каждого возврата.
Лучший способ справиться с этим и с ошибкой, если одна из команд в цикле не работает:
FOR %G IN (foo, foobar) DO (gem list | findstr %G) || IF %ERRORLEVEL% == 0 exit
Тогда он всегда будет возвращать non, давая вам правильный уровень ошибки при выходе.