Я использую решение, найденное на StackOverflow несколько дней назад:

@echo off
setlocal enabledelayedexpansion

REM Line number of the delimiter line:
for /F "delims=:" %%a in ('findstr /N "^xxyyzz" "Input.bin"') do set "lines=%%a"
echo %lines%

REM Extract the part of the Input.bin following the delimiter line:
< "Input.bin" (

   REM Pass thru the first lines:
   for /L %%i in (1,1,%lines%) do set /P "="

   REM Copy the rest to output bin:
   findstr "^"

) > Output.bin

Это работает нормально, но с некоторыми файлами я получаю сообщения об ошибке «Строка ... слишком длинная». Я знаю, что эта проблема связана с трубопроводом. Я также нашел совет:

Msgstr "Ошибка слишком длинной строки возникает, только когда FINDSTR читает ввод через перенаправление или канал. Эта ошибка исчезнет, если вы передадите имя (путь) файла непосредственно в FINDSTR. "

Как мой скрипт должен быть адаптирован (согласно приведенному выше совету), чтобы преодолеть эту проблему?

0