Wait a minute, you people are doing all the work for me. You say that it's harder to convert batch to asm ( a much easier language then exe) But then you say that it's easier to convert batch to exe. There's no logic in that. When you say "experience", there are two and more meanings.
1. you're a smart-*censored* who knows everything
2. you're a real helpful person who knows everybody.
3. you're a lazy "thing" that has been in the forum for years and posts stuff like, cool, and i like that.
you obviously don't understand jack-*censored* about what we're saying.
It's easier to convert to EXE because one could create a Stub executable in C or C++ for example that loads batch code that is appended to the executable. the C program, upon being run, loads the batch code from the end of itself (argv[0], of course), saves it in a temporary file, shells the batch file, deletes the temporary file, and closes.
EXE is machine code. it translates DIRECTLY into assembly. That's why it's called "dissasembly" not "decompiling" to ASM source. The comments are gone, which are kind of important to understanding anything that is happening in a ASM program. Which ironically answers your topics question.
conversely- you don't "Compile" an ASM program but rather "assemble" it, which is a fairly simple task at a basic level- strip out comments and right out each ASM instruction as the directly corresponding piece of machine code. ASM is just a symbolic way of looking at the machine code.
This is why, with most "batch compiling" systems (which, as stated before simply prepend some cheap C program to the front of the batch code and call it a day) you can simply open the executable and copy the code- comments and all. More "sophisiticated" batch compiling programs try to further obfuscate the code by performing EXE compression on the resulting executable, appended batch code and all. Of course, this prepends ANOTHER executable to the front of the current one, meaning that the decompression routine needs to save a temporary file containing the original executable, which can be opened and the batch code once again copied out as if the compression algorithm wasn't there (and in fact it's quite transparent)