How to copy contents of one file to another?

So I have a .txt-file and I need to import the data line per line. That works like it should. I need however to adapt the contents loaded into a command an write it to another .txt file that later will be used by the datatool package. Problem is that if I write this:

\documentclass{article}

\begin{document}

\newopen\copyfile  % open the file to write to
\openout\copyfile=copy.txt

\openin\file=file.txt

\loop\unless\ifeof\file

\fileline                   % print the content into the pdf
\write\copyfile{\fileline}  % print the content to copy.txt
\repeat

\end{document}


The output file looks like this:

\par
\par
\par
...


While the pdf displays the actual content of the file. Here is an example of a text file for input.

data.txt:

This is the first line.
And the second one.
Here is the third.
And so on...


If anyone has another solution of making datatool skip the first x lines, or even better when reading a certain string, that will solve my problem too in a more efficient way :)

p.s.: I cannot adapt the .txt-files

-
I tried \expand and \noexpand btw –  Didii Jul 16 '12 at 10:09

You're forgetting \immediate:

\documentclass{article}

\begin{document}

\newwrite\copyfile  % open the file to write to
\immediate\openout\copyfile=copy.txt

\openin\file=data.txt

\begingroup\endlinechar=-1
\loop\unless\ifeof\file
\fileline\par                   % print the content into the pdf
\immediate\write\copyfile{\unexpanded\expandafter{\fileline}}  % print the content to copy.txt
\repeat
\endgroup

\end{document}


I've added also a trick for avoiding a final blank in the expansion of \fileline. However the copy won't be exact, because TeX always add an empty line at the end of read in files.

The \unexpanded\expandafter{\fileline} avoids problems with expansion of commands possibly present in the data file.

It's quite difficult to understand why you'd want this.

-
Thanks for the quick answer! Will test it immediately. I need this because I need to import data using the package datatool. I have a large number of files which need to be processed. The text file starts with a bunch of info, and all I need to import in datatool is the table beneath all that info. Thus, my workaround: create a new .txt without the info above the table to make datatool import it correctly. –  Didii Jul 16 '12 at 11:17
Works flawlessly :) Thanks again! –  Didii Jul 16 '12 at 11:58