Since people are curious Ill explain why:
I need to build our project from the remote repo using a PowerShell script (.ps1). I’m using Bash in the VSCode terminal, I have to run the .ps1 script in a new Command Prompt because the compilation takes around 5 minutes and I need my terminal for other things. To do this, the only way is to run a batch file that executes the .ps1 script.
Its an automation so I dont need to touch powershell whatsover and remain in bash terminal. Instead of opening several windows, I automated all so it only takes 1 alias to compile my shit.
The compilation also requires several inputs and “Key Presses”, so I automated all of that in the Batch file.
That sounds like you don’t know what you’re doing. No offense.
That doesn’t make any sense. Why not just use PowerShell directly then? Why use Bash or even command line and a batch file? It sounds to me like you’re over-complicating things for nothing and putting the blame on Microsoft for some reason.
I’m a heavy Bash user myself and often find myself struggling a bit with PowerShell trying to look for equivalent commands. (commandlets?) But, the more I use it, the more I understand how it works and the more I improve my skills at using it.
I know a lot of people like to shit on Microsoft, but seriously give their PowerShell a chance. It has its strengths. It’s especially nice with Oh My Posh running in Windows Terminal.
Since you added a question mark, commands is the correct general term. However there are two types that can be a command. Functions: which are written in pure powershell and cmdlets: which are commands provided by dotnet classes. (Also exes and a bunch of other stuff common to other shells can be a command, but that’s not important.)
The reason they have different names is early on functions didn’t support some of the features available to cmdlets, such as pipeline input. There was later a way to add this support to functions.
In practice call them any of the 3 and people will know that you mean.
I have to run the .ps1 script in a new Command Prompt because the compilation takes a few minutes
I don’t follow this reasoning. Is it because you don’t want to take over the VSCode terminal with a long command? Couldn’t you can open multiple tabs, or run in the background, or use screen/tmux, etc.?
Yeah I use my terminal to run other things, as it stays compiling for around 5-6 min. I could open another tab like you mention but Instead I automated all so it only takes 1 alias (ex cc) to compile my shit.
The compilation also requires several inputs and “Key Presses”, so I automated all of that in the Batch file.
Please explain why you don’t open powershell and run cmd.exe instead of running bash? This is a strange workaround and doesn’t really make sense.
Command prompt is CMD and batch script, Powershell is Pwsh and .ps1, then bash is .sh.
You’ve confused a few things here…
FYI, open a powershell terminal separately, to the path of your script (powershell in file Explorer path) and run your script.
Do rest of Work in Vscode
Done.
I use Ansible on WSL to run Powershell scripts on Windows using VSCode. I’m surprised it works as well as it does.
U can probably add a couple more layers by sshing into a vm
My work someone made a robust automated build script, and they left so someone else made a wrapper around it to make it easier to work with, they’re gone now and someone wrote a wrapper around that to extend functionality in a backwards compatible way, but it’s overly complicated for my minimal use cases so I wrote a batch file to call it with my default settings…