Yeah, probably 2.bat simply stores data to files without specifying their path, so the files are created on the current directory (which is not necessarily the batch file's directory).
As Robbobob said, a solution would be to change to 2.bat's directory before CALLing it:
pushd c:\2batdir
call 2.bat
popd
That would change to the directory c:\2batdir (representing the directory where 2.bat is located), call 2.bat and then return to the original directory.
Another solution would be to modify 2.bat, so it refers to files with determined paths. Let's say there's something like this on 2.bat:
echo Log begin>> logfile.txt
You would modify that to:
echo Log begin>> c:\2batdir\logfile.txt
Or perhaps:
echo Log begin>> %0\..\logfile.txt
Nevertheless, the first solution is probably simpler.
-- Leonardo Pignataro - Secret_Doom --
secret_doom@hotmail.com
www.batch.hpg.com.br