НЕТ способа напрямую перечислять элементы в команде FOR / F "delims = ...".Обычный способ сделать это - через цикл, который считает один элемент, исключает его из предложения и повторяет, пока был подсчитанный элемент.
Однако, в зависимости от конкретного разделителя и остальных символов в предложенииВы можете использовать команду FOR (без опции / F), которая будет ПОВТОРЯТЬ свой код для каждого элемента, разделенного СТАНДАРТНЫМИ РАЗДЕЛИТЕЛЯМИ ПАРТИИ, которые являются запятой, точкой с запятой и знаком равенства, кроме пробелов.В вашем конкретном примере:
SET ENUM=0
FOR %%A IN (This,is,a,comma,delimited,sentence) DO SET /A ENUM+=1
непосредственно подсчитайте количество элементов, разделенных запятыми.Если разделителем является символ, отличный от запятой, точки с запятой или знака равенства, возможное решение состоит из трех шагов:
1- Replace spaces, comma, semicolon and equal-sign for another know character(s).
2- Replace the delimiter for any Batch standard delimiter (space, comma, etc).
3- Use a simple FOR to directly enumerate the items.