1

I was wondering if it was possible to run a selfwritten ruby program just like any other program by double-clicking an icon of some sort.

And if it's possible, how do I do it?

I wrote a little program for a friend but I don't want him to have to use the command line to run it, because that's rather inconvenient (unless there is a way to just double-click and the command line opens the program itself..).

Thanks for your help!

2 Answers2

3

The simple answer that should work for all versions of Windows is to just create a simple batch launcher.

Create a .bat file. I usually just create a new .txt file via "right click > new > text document". Then rename it, highlight everything, including the extension, and rename it to something like run.bat. The .bat part is important. Once you rename it, the icon should change to gears. If you can't overwrite the extension, or Windows is still treating it as a text document, you'll need to either manually save it as a bat, or disable "hide file extensions" in the explorer settings so the extension can be changed.


Edit the bat file, and put into it something like:

@echo off

YOUR RUN COMMAND HERE THAT YOU WOULD NORMALLY TYPE MANUALLY

pause

Paste the command that you would normally run manually where the capital text is. The first line is so it doesn't repeat the commands back, and the pause is so if an error happens, the command prompt doesn't immediately close. This gives you a chance to read the error.


Save it and close it. Now, if you double click on the bat file, your program should run.

Carcigenicate
  • 43,494
  • 9
  • 68
  • 117
  • @BrunhildeLine One thing I'll note with using this approach though is that bat files are often used for malicious purposes since they can automate arbitrary commands. If the person you're sending this too doesn't necessarily trust you, or have the knowledge required to read what the bat is doing, they may be sketched out having to run a bat file. If they want a nice, ready to use executable, you might need to look at a Ruby-specific approach. – Carcigenicate Nov 11 '18 at 17:49
3

Multiple ways

  • if it's for occasional use and for one script only I would pack it to a Windows executable with Ocra, then you can double click the .exe itself or a link to it
  • same as above but use jRuby and create a .jar file, not for beginners though
  • the easiest: if you configure Windows to start/run .rb files with your ruby.exe you can double click the .rb files itself and they will execute, they will have the red Ruby stone icon
  • if you run a .reg file to enable drap and drop on .rb files you can combine the previous technique to drop files on the script and they will be the parameters to the script, see my answer here for the reg file
  • my favorite: copy the .rb to your windows "C:\Users\your_user\AppData\Roaming\Microsoft\Windows\SendTo\" folder, then you can right click file(s) or folder(s) and select sendto and select your script, the files or folder will again be the parameters for your script
  • you can create a .bat or .cmd file that starts with the path to your ruby.exe and the script as parameter, use rubyw.exe if you don't want output
peter
  • 41,770
  • 5
  • 64
  • 108