cmd.exe has some issues with shell redirection and pipes if the file is not an executable program or a batch file.
Wrap your sample script using pl2bat, and that error goes away.
Hope this helps with your original problem as well...
Sample output:
C:\S\temp>test.bat > test.txt
C:\S\temp>type test.txt
Volume in drive C is Main
Volume Serial Number is 280A-19E0
Directory of C:\S\temp
01/07/2004 02:10p <DIR> .
01/07/2004 02:10p <DIR> ..
10/09/2003 04:24p 193 two.lol
12/13/2003 11:46p 65,230 314563.lol
03/28/2005 09:01p 481 test.bat
03/28/2005 09:14p 0 test.txt
4 File(s) 65,904 bytes
2 Dir(s) 11,755,111,424 bytes free