cmd.exe is the command interpreter in Windows. There is no requirement for any of the UNIX shells to have an extension such as .EXE. No flavour of UNIX or no distro of Linux that I know of, bundle any windows emulator with the name cmd.exe.
Further, a batch file such as ones with .BAT typically contain a sequence of DOS commands.
Trying to run a batch file within a command interpreter in a Non-Windows environment is guaranteed to fail.
Telling us what exactly you are trying to do might help.
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away." -- Antoine de Saint-Exupery
If your BAT file isn't too big, and if considerations like IP are moot, then suggest you post the contents of your BAT file. It shouldn't be too difficult to write something equivalent in bash.
That said, you should seriously consider Stefan's advise of using a Java solution. After all, you are running into this problem because of a cross-platform issue of trying to run something in UNIX that should be run on Windows. Performing whatever is being done in the batch file from within Java should obviate any platform considerations.
Originally posted by Paul Maeng: Stefan, where can I see a sample .sh for ftp? if so, please let me know.
If all you really want to do is send/receive file(s) via FTP, there's a very nice FTP library available from the jakarta.apache.org website. It will allow your Java app to connect to one or more FTP servers and do just about anything that you could from an FTP command shell.
It's also integrated into a larger universal filesystem project that pretty much allows apps to talk to all sorts of data connections, including Windows shares, Unix nfs, and whatever else you can think of.
An IDE is no substitute for an Intelligent Developer.