The update.bat file hold xcopy commands to copy over files and depending on the / option it would either just update files or copy all files no matter what.
Would the update.bat file run and then return to the same spot in my program?
I think you have to put the actual commands you want shell in a string, don't you? But yes that should work. And yes, shell will suspend your program's execution, run the commands you passed it, and then continue on in your program.
I'm not sure how MS-DOS dealt with trying to change the very file you're running, should update.bat do something with the executable you're running. Windows would just give you an error message. One would think that after all these decades, MS filesystems would be able to deal with replacing in-use files without resorting to reboot hacks. But oh no.