Change you batch file to receive as first parameter the $(ProjectDir) macro and then change the PostBuild event to pass this macro
Post.bat
echo Hello There > %1%Result.txt
@exit 0
PostBuild event
call "$(ProjectDir)batch\post.bat" $(ProjectDir)batch\
Your previous command fails because the postbuild event is executed inside the Current Output directory of your executable (usually BIN\DEBUG or RELEASE). You could easily check this adding a dir command with a redirection to the result.txt in the above example