The ExeBatLauncher is a simple way of calling .bat files as .exe files in creating an .exe command that calls the same .bat command.
For example you want to call the Spoon.bat file by Spoon.exe, simply rename the ExeBatLauncher.exe (that is found in the distrib folder) to Spoon.exe and copy it to the same directory and you are done.
If you want it now, just download it and use it, it’s free 🙂
If you want to have a polished Spoon.exe with the right icon to test with, just download it from the PDI-6949 attachment.
The reason why I created this was a Pentaho Data Integration JIRA case: PDI-6949 – „While in PDI-2925 the feature of kettle.exe was removed, you cannot add a .bat file to the quick launch of Windows 7. The workaround is to add a cmd.exe to the quick launch and add /c <path to .bat> to modify it. This is due to microsoft security in Win 7.“
I also thought a lot of launching Kettle just by clicking on a .ktr or .kjb file and accomplished this by a wrapper .bat (calling the target bat with the /file: option). There are also nasty ways of launching .bat files by creating self extracting exe archives (nice trick), but this is just too dirty to be professional. But I tried also this and it worked even with the Spoon icon, but some limitations like having to extract the.bat file from the self extracting archive into the distribution folder are not a good solution. Further investigation into existing solutions of calling Java from .exe brought some nice projects but that is not the solution we want at this time.
I wanted to have a pretty simple .exe that just calls the .bat with the same name and here is the code for this:
As you see it supports:
- calling the .exe/.bat from every folder
- passing all arguments from the caller
- returning the return code to the caller
If you want to compile it, follow the instructions in the _README.txt file in the attachment: ExeBatLauncher.zip
I look forward to your experiences!