I'm not sure that I fully understand your problem. But it seems to me that there are several solutions that would solve the problem as I understand it.
If the paths are always fixed, but only the drive letter may vary, you could just use a relative path:
xcopy /s /y "..\Adob\*" "C:\Program Files\"
Calling the batch program from any drive would then work as expected provided the batch file always exists in USBSTICK which exists in the same dir as Adob.
If the source path can vary, just replace the varying part with a parameter, and call the batch file with the correct path:
xcopy /s /y "%1\*" "C:\Program Files\"
Calling the batch program from any drive AND location would then work as expected when you supply it with the correct path:
xcopybatch J:\Files\New folder\USB\Adob