FINDSTR Batch Command обрезает файл - PullRequest
1 голос
/ 23 июня 2011

У меня есть пакетный скрипт для копирования только строк с определенной строкой в ​​другой файл. Линии будут иногда длиннее. Я использую

FindStr / I "строка" file1> file2

чтобы сделать эту операцию. Но в результирующем файле он усекает строки до 1024 символов. Есть ли какие-либо ограничения в программировании DOS, что строки текстового файла должны быть только такой большой длины? Если есть такое ограничение, то есть что-то, что мы можем установить, чтобы переопределить это поведение.

Приветствия, PK

1 Ответ

3 голосов
/ 23 июня 2011

Я не знаю, есть ли конкретное ограничение на ваше findstr.Что бы это ни стоило, тот, который у меня есть под XP SP3, прекрасно работает, по крайней мере, до 2000 символов (a) .

Если у вас есть дефицит в некотором роде.Вы можете подумать о загрузке CygWin или grep инструмента из GnuWin32 (поиск grep в списке пакетов) и использовании его вместо этого.Но, как я уже сказал, исходя из моего опыта, этого не должно быть.


(a) Я создал однострочный файл с 2000 символов (повторяющаяся последовательность 1234567890) а затем:

C:\Pax> \cygwin\bin\wc xyz.txt
   1    1 2002 xyz.txt

C:\Pax> findstr /i "123" xyz.txt >xyz2.txt

C:\Pax> \cygwin\bin\wc xyz2.txt
   1    1 2002 xyz2.txt
...