Вот одно из возможных решений:
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=* delims=" %%A in (%INPUTFILE%) do (
set "my_line=%%A"
set "my_line=!my_line:#define ACCEL_PRESENT=!"
echo !my_line! | findstr /C:"define ACCEL_PRESENT"
IF !errorlevel! EQU 0 ( SET "my_line=%%A" && call:parse_it )
)
:parse_it
for /F "usebackq tokens=1-6 delims= " %%A in ("%my_line%") do echo %%C > t.txt
rem exit /b
Я надеюсь, что вы хотите удалить строку #define ACCEL_PRESENT
.
Также, скажите мне, если %my_line%
- это команда (я неЯ так не думал, поэтому я удалил одинарные кавычки и добавил двойные кавычки).
Лучше использовать буквенные переменные в for
циклах!