Что нового

Обрезка файла

OXIGEN

Новичок
Сообщения
30
Репутация
0
Здравствуйте. Вопрос вроде простой, но никак не могу найти ответ. Нужно удалить все строки из файла ТХТ с определённой строки. Допустим оставить первые
20 строк, а всё что ниже удалить (строк около 5к). Именно удалить, а не затереть. Количество строк "снизу" произвольное.
 

All2khoff

Продвинутый
Сообщения
352
Репутация
65
Похожая задача решалась тут, вам не подходит?
Код:
#include <File.au3>

Dim $aArray
$sFilePath = '1.txt'

_FileReadToArray($sFilePath, $aArray)
_FileWriteFromArray($sFilePath, $aArray, 1, 20)

Чуть поправил...
 
Последнее редактирование:
Автор
O

OXIGEN

Новичок
Сообщения
30
Репутация
0
Спасибо! Как-то я это пропустил! Подходит! Но почему-то после использования кода, в первой строке обрезаемого файла, появляется строка с цифрами..
Попробую поискать в описании _FileWriteFromArray.
Сообщение автоматически объединено:

Спасибо! Как-то я это пропустил! Подходит! Но почему-то после использования кода, в первой строке обрезаемого файла, появляется строка с цифрами..Вроде количество удалённых строк.
Попробую поискать в описании _FileWriteFromArray.
 
Последнее редактирование:

Norm

Продвинутый
Сообщения
279
Репутация
74
Вот чистый натив, без дополнительных библиотек, тоесть проще и быстродейственней.
Код:
Local $sFile = @ScriptDir &"\Test.txt", $sString = FileRead($sFile)
Local $nFD = FileOpen($sFile, 2+FileGetEncoding($sFile,2))
FileWrite($nFD, StringLeft($sString, StringInStr($sString, @CRLF, 0, 20)))
FileClose($nFD)
 
Последнее редактирование:
Верх