.BAT and .CMD script files are read line by line, with the file being closed and reopened each time (this allows for the now-obscure feature of self-rewriting scripts, and in the Dos/Command.com days allowed installing TSRs), while .BTM script files are read once into memory (BTM stands for "Batch To Memory; TCC still has to old LoadBtm command). This yields a difference in speed, which could explain the difference in behavior, because, as Charles Dye points out, the process may not have disappeared completely from the system at the time PsKill returns.