Script in batch con findstr e "line to long"


0

Sto usando una soluzione trovata su StackOverflow alcuni giorni fa:

@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

Funziona bene, ma con alcuni file ricevo i messaggi di errore "Linea ... troppo lunga" . So che questo problema è associato a tubatura . Ho trovato anche il suggerimento:

"L'errore di riga troppo lungo si verifica solo quando FINDSTR legge l'input tramite reindirizzamento o pipe. Questo errore scompare se si passa il nome (percorso) del file direttamente a FINDSTR. "

Come dovrebbe essere adattato il mio script (in base al suggerimento precedente) per superare questo problema?


1
Naturalmente, lo apprezzerei se qualcuno mi dicesse che questo è fondamentalmente impossibile ...
Bucko

Considerando che esistono espressioni regolari che schianto findstr, non sarei sorpreso.
grawity

OK, Grawity, ma la mia domanda riguarda principalmente le opzioni di utilizzo / sintassi di base di & amp; findstr (che non riesco a capire ...)
Bucko
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.