Я попытался скопировать один файл в другой от стартовой линии до предела. т.е. строка с 1 по 10 (file1.txt) -> file2.txt , но при написании «!» пропущен. что я могу сделать для его решения. Любая помощь будет благодарна.пакетное программирование файлов
Цикл для этой функции приведен ниже.
%NF%-> new file.
%EF%-> existing file
%1% -> line number(passed from another part)
:_doit
findstr /N /R "." %EF%|findstr /B /C:"%1:">nul
if errorlevel 1 (
echo. >>%NF%
) else (
for /f "tokens=1 delims=" %%a in ('findstr /N /R "." %EF%^|findstr /B /C:"%1:"') do (
if [%%a] EQU [] (
echo. >>%NF%
) else (
echo %%a >>%NF%
)
)
)
Есть две проблемы: «эхо». в два раза медленнее, чем «echo (« и он терпит неудачу, если существует файл с именем «echo»). Вторая проблема связана с длинными файлами, в которых ваш код не работает, потому что вы не использовали endlocal, и поэтому вы получаете переполнение. – jeb