I don’t actually understand what you are describing. Your posting is a bit unclear, so I can’t offer advice for how to resolve your issue unless you can more clearly explain what’s going on, being as specific and detailed as possible about exactly what you are executing and what’s occurring. Or contact us directly to work with us via email and trade screenshots etc to help illustrate.
That said, I can answer your last question, which is that in BatchPatch if you use $computer inside a command, BatchPatch will replace it at the time of execution with the actual host name from that row that performs the execution.