Это мой код:синтаксиса команды неверен - множественный, если условия для цикла
for %%a in (%TESTS%) do (
IF not "%%a" == "tests/xxxx/yyyy/zzzz/test1" (
IF not "%%a" == "tests/qqqq/ssss/bbbb/test1892" (
and so on...
)
)
)
Если бы я получил около сто условия, если, я стал получать такую ошибку: «Синтаксис команды является неверно " И если я прокомментировал несколько (любой) линии IF, ошибка отсутствует.
Что является проблемой с этим кодом?
Приветствия.
Вы должны добавить пример, где ошибка воспроизводима. Код, который вы опубликовали, не содержит ошибок. Возможно, у реального кода есть некоторые неэкранированные специальные символы. Такие бессмысленные ошибки могут также отображаться, если вы пытаетесь использовать переменную несколько раз внутри цикла, и в этом случае следует использовать [задержанное расширение] (http://ss64.com/nt/delayedexpansion.html). – wOxxOm
Максимальная длина команды составляет 8 КБ (около 8190 символов). Я предлагаю вам выполнить эти множественные тесты по-другому. Например: вставьте все строки поиска в файл и используйте 'findstr'. – Aacini
Работает с опцией findstr. У меня уже есть файл со всей строкой поиска, поэтому я использую это решение. Однако у меня есть строка в выводах из файла, который содержит поисковую фразу. Например: Findstr/с: "%% A" Makefile \t \t \t IF Равен 1 ( \t \t \t \t бэр сделать SMTH \t \t \t) Мои ouptputs (в консоли): TESTS_LIST + = test1 TESTS_LIST + = test1892 Есть ли вероятность, что эта строка не будет присутствовать в выходах после выполнения сценариев? –