The $lf is automatically expanded to $crlf by the underlying Windows command that is being used. If you want complete control over $lf and $cr you would need to use binary files instead.