To start up, you will most likely have to use Cygwin (which I can't live without using Windows). So right off the bat, +1 for Cygwin. Everything else would be uncivilized.
VERY much, as I said, I recently started using a combination of utilities to easily create PORT Bash scripts for Windows so that my Linux employees can easily run complex tasks that are better handled by GNU utilities.
I can usually transfer a Bash script to batch download in a very short time by opening the source script in one panel and writing the batch file in another panel. The tools I use are as follows:
I prefer UnxUtils for GnuWin32 because [someone, please correct me if I'm wrong] GnuWin utilities usually need to be installed, and UnxUtils are standalone binaries that just work out of the box.
However, CoreUtils does not contain some familiar * NIX utilities, such as cURL, which are also available for Windows (curl.haxx.se/download.html).
I create a folder for projects and always set PATH =. in the .bat file so that no commands other than the main commands of the CMD shell are specified (as well as certain UnxUtils needed in the project folder for the Batch script to function properly).
Then I copy the necessary CoreUtils.exe files to the project folder and link to them in a .bat file such as ". \ Curl.exe -s google.com", etc.
The Bat2Exe program is where magic happens. Once your batch file has been completed and has been successfully tested, run Bat2Exe.exe and specify the path to the project folder. Then Bat2Exe will create a Windows binary file containing all the files in this particular folder, and will use the first .bat, which it uses to use as the main executable file. You can even include the .ico file to use as an icon for the final .exe file that is generated.
I tried several of these types of programs, and many of the generated binaries were marked as malware, but the version of Bat2Exe that I refer to works fine, and the generated .exe files are fully scanned.
The resulting executable file can be launched interactively by double-clicking or run from the command line with parameters, etc., like a normal batch file, except that you can use the functionality of many tools that you will usually use in Bash.
I understand that this is quite a long time, but if I can get a little distracted, I also wrote a Batch script, which I call PortaBashy, which my colleagues can run from a network share that contains a portable installation of Cygwin. Then it sets the% PATH% variable to the normal * NIX format (/ usr / bin: / usr / sbin: / bin: / sbin), etc. And it can either run in the Bash shell, or run the more powerful and beautiful MinTTY terminal emulator.
There are always many ways to accomplish what you are trying to do; itβs just a matter of combining the right tools for the job, and many times it comes down to personal preference.