How execute bat from mac? Is it possible to rewrite it to python or bash script?
I have a problem with .bat file. There is a .bat file that starts the server. But on a Mac OS system, this is impossible. Are there any options to rewrite it to python or bash so that it would be possible to start from MacBook?
This is .bat file:
echo start web server.. start cmd /k node webServer.js echo start chrome.. start chrome.exe /k http://localhost:8080
Thanks for helping!
Ok, so it would be better to use bash scripts. They are much more powerful than bat and they work on all Unix like OS-s (Linux, Mac ..) and can work on windows with some modifications. This will show you how to run node:
This will show you how to run the app:
Also, look at this link for an introduction to bash, it is a good thing to know it:
Also on the https://www.mac-forums.com/forums/switcher-hangout/302162-execute-bat-file-mac.html you can see how to run it on mac but as they pointed out there it doesn't work 100%.
Edit1: This is the code:
#!/bin/bash echo "Star server .." node webServer.js echo "Open chrome" open http://localhost:8080
For node just add the path to file, like you would usually run it. For last line it opens default browser with link.
Here's a Python example that is cross-platform (unless you don't have
PATH) and using only the standard library:
# client.py import subprocess import webbrowser if __name__ == '__main__': try: server_proc = subprocess.Popen(['node', 'webServer.js']) webbrowser.open('http://localhost:8080') server_proc.communicate() except KeyboardInterrupt: server_proc.terminate()
Note, however, that
webbrowser.openwill open the browser that is set as default, so it could be Safari or whatever. If you want to specifically open Chrome, you will have to pass the full path to the executable (or modify your
PATHenv var). Example:
# client.py import os import subprocess if __name__ == '__main__': try: server_proc = subprocess.Popen(['node', 'webServer.js']) chrome_exe = os.path.join('/', 'Applications', 'Google Chrome.app', 'Contents', 'MacOS', 'Google Chrome') subprocess.Popen([chrome_exe, 'http://localhost:8080']) server_proc.communicate() except KeyboardInterrupt: server_proc.terminate()