Содержимое каждой строки может быть установлено в индексированную переменную, очень похожую на массив, с помощью Setlocal EnableDelayedExpansion
и основы c For /F
l oop
В зависимости от содержание / структура вашего файла / файлов, которые вам, возможно, не понадобятся при использовании подхода Array. Просто выполните свое действие, используя переменную For / F l oop / s (%% G в этом примере).
Опять же, в зависимости от содержимого, вы можете изменить параметры в for l oop, чтобы получить указанные c токены. (введите For /F
в cmd.exe для полного синтаксиса - или найдите и прочитайте множество других вопросов о SO, касающихся обработки содержимого файлов)
После того, как вы установили массив, вы можете использовать For /L
l oop для итерации по каждой строке и вставки команд, которые должны быть приняты, используя значение каждой строки.
Если, выполняя рекурсивный запуск, вы хотите запустить это для каждого файла в папке и подпапках (типичное значение в терминах рекурсивного термина, где речь идет о партии, вложите For /F
l oop в For /R
L oop и обменяйте %inputfile%
на %%A
в For / F l oop следующим образом:
CD (Изменить каталог) / PUSHD в родительскую папку для повторения и / или / Убедитесь, что пакет запускается из родительской папки
For /R %%A In (*.YOURextension) Do (For /F "delims=" %%G in (%%A) Do (commands))
``
@ECHO OFF
Setlocal EnableDelayedExpansion
Set index=0
Set "inputFile=Your File Path.extension"
For /f "delims=" %%G in (%inputfile%) DO (
REM Perform your action on the content here using %%G
ECHO(%%G
REM Optional - assign value of each line to indexed variable
Set /a "index+=1"
Set "Line[!index!]=%%G"
)
For /L %%I in (1,1,!index!) DO (
REM - Alternate - Perfom your action on the content here using !Line[%%I]!
ECHO(!Line[%%I]!
)