This seems to be a Windows topic rather than a Linux problem.
You want to execute a .bat file, which is typically a script meant for an MSDOS prompt. I assume that you are accessing the Windows box from a Linux machine, though that is completely irrelevant. All the action is done by the SSH shell.
It is also quite useless to install cygwin on the remote machine, as there are enough SSH tools for Windows.
Launching your batch file on the remote PC on site works, because you are likely to launch it without SSH. Doing the same remotely will put SSH between yourself and the batch file, and the SSH shell obviously doesn't know what to do with the batch file.
At least that's how I see it.
I could be wrong.
Last edited by Tinkster; 10-30-2010 at 06:16 PM.