Aby działać natywnie, prawdopodobnie będziesz musiał użyć Cygwin (bez którego nie mogę żyć w systemie Windows). Więc od razu, +1 dla Cygwina. Wszystko inne byłoby niecywilizowane.
JEDNAK to powiedziawszy, ostatnio zacząłem używać kombinacji narzędzi do łatwego PORTOWANIA skryptów Bash w systemie Windows, aby moi współpracownicy z systemem anty-Linux mogli z łatwością wykonywać złożone zadania, które są lepiej obsługiwane przez narzędzia GNU.
Zwykle mogę przenieść skrypt Bash do Batch w bardzo krótkim czasie, otwierając oryginalny skrypt w jednym okienku i pisząc plik Batch w drugim panelu. Narzędzia, których używam, to:
Wolę UnxUtils od GnuWin32, ponieważ [ktoś, proszę, popraw mnie, jeśli się mylę] Narzędzia GnuWin normalnie muszą być zainstalowane, podczas gdy UnxUtils to samodzielne pliki binarne, które działają od razu po wyjęciu z pudełka.
Jednak CoreUtils nie zawiera niektórych znanych narzędzi * NIX, takich jak cURL, który jest również dostępny dla systemu Windows (curl.haxx.se/download.html).
Tworzę folder dla projektów i zawsze SET PATH =. w pliku .bat, tak aby żadne inne polecenia poza podstawowymi poleceniami powłoki CMD nie były przywoływane (a także określone pliki UnxUtils wymagane w folderze projektu, aby skrypt usługi Batch działał zgodnie z oczekiwaniami).
Następnie kopiuję potrzebne pliki CoreUtils .exe do folderu projektu i odnoszę się do nich w pliku .bat, na przykład „. \ Curl.exe -s google.com” itp.
Program Bat2Exe jest miejscem, w którym dzieje się magia. Po zakończeniu tworzenia pliku wsadowego i pomyślnym przetestowaniu go uruchom Bat2Exe.exe i określ ścieżkę do folderu projektu. Bat2Exe utworzy następnie plik binarny Windows zawierający wszystkie pliki w tym określonym folderze i użyje pierwszego pliku .bat, który napotka, jako głównego pliku wykonywalnego. Możesz nawet dołączyć plik .ico, który będzie używany jako ikona dla końcowego generowanego pliku .exe.
Wypróbowałem kilka tego typu programów i wiele z wygenerowanych plików binarnych zostało oznaczonych jako szkodliwe oprogramowanie, ale wersja Bat2Exe, do której się odwołałem, działa doskonale, a wygenerowane pliki .exe są skanowane całkowicie czysto.
Wynikowy plik wykonywalny można uruchomić interaktywnie przez dwukrotne kliknięcie lub uruchomić z wiersza poleceń z parametrami itp., Tak jak zwykły plik wsadowy, z wyjątkiem tego, że będziesz w stanie wykorzystać funkcjonalność wielu narzędzi, z których normalnie będziesz korzystać w Bash.
Zdaję sobie sprawę, że trwa to dość długo, ale jeśli mogę trochę odbiegać od tematu, napisałem również skrypt Batch, który nazywam PortaBashy, który moi współpracownicy mogą uruchomić z udziału sieciowego, który zawiera przenośną instalację Cygwin. Następnie ustawia zmienną% PATH% na normalny format * NIX (/ usr / bin: / usr / sbin: / bin: / sbin) itd. I może albo uruchomić się w samej powłoce Bash, albo uruchomić mocniejszy i ładny emulator terminala MinTTY.
Zawsze istnieje wiele sposobów na osiągnięcie tego, do czego dążysz; to tylko kwestia połączenia odpowiednich narzędzi do pracy, a często sprowadza się to do osobistych preferencji.