FOPEN/FCREATE etc. commands have 2 GB file size limitaions whereas they become blind and behave as if eof()=.t., even when it is not.
Basically equivelent code using File Scripting does not have this limitation.
There is definitely a time penalty vs. fopen/fcreate, but of course, that point is moot when you are trying to pull some info out of a >2 GB file.
The below code was used to write a 3 GB file, and was also tested vs. an fcreate on a smaller file and yielded identical results.
Brian
fso = CreateObject("Scripting.FileSystemObject")
ExistingFile= fs

penTextFile("INPUT.TXT", 1,.f.)
NewFile = fso.CreateTextFile("OUTPUT.TXT", .t.)
DO While ExistingFile.AtEndOfStream=.f.
LcString=ExistingFile.ReadLine()
LcString=SUBSTR(LcString,2,200)+SUBSTR(LcString,202,209) &&parsing seems faster here vs. in the WriteLine
NewFile.WriteLine(LcString)
ENDDO
ExistingFile.Close
NewFile.Close