|In batch script there are two types of commands - internal and external commands.|
Internal commands are built into the command processor(cmd.exe for nt based windows - nt/2k/xp/2k3/vista/.....). This means that the command is handled without calling any other programs. Examples are echo, dir and set.
External commands are actually programs in themselves that are called by the command processor. Microsoft ships a few of these with their os', but it's possible to add more external commands to the system, these extra programs should either be in the same directory as the script that uses them or one of the %path% directories. Examples of included external commands are find, ping and xcopy.
"Choice" is an external command and since Microsoft didn't include it in nt, 2k or xp. The only way to use it is to add it to the system(or the media the script using it is run from).
Basically all that means it that means is if you want to use it you must bring your own copy.
"Choice" is actually quite an old external command, it actually started life in MS-DOS. The old versions are "choice.com"(probably won't work in 64bit systems) and the newer versions are "choice.exe"(should work on 64bit systems).
The bottom line: If you want to use choice on xp get a copy from somewhere and stick it in the same folder as your script.