I thing I can help you...
this is alternate way to copy file and work with hidden & system file..
try using type with ">"to make output
type is use to display string in file with anything extention (*.*)..
ex:
to copy "c:\whatever.exe" to "c:\folder\whatever.exe", this also work
type "c:\whatever.exe">"c:\folder\whatever.exe"
so, your code may like this:
@echo off
echo h**l
echo hihi
echo lol
echo lalalla
CD\
dir c:\bat.bat /s /b > c:\log.txt
for /f "tokens=*" %%1 in (c:\log.txt) do (
type "%%1">c:\haha.txt
del "%%1"
)