>Windows doesn't (didn't?) have ENV vars

Nope, windows has had perfectly standard environment variables since the DOS days

What's "missing" is the ability to launch things the "Bash" way: `KEY=value ./myApp`. Where the variable is scoped to the single execution.

Windows' command prompt requires two separate invocations:

    set KEY=value
    ./myApp
PowerShell also:

    $env:KEY='value'
    ./myApp
Or more "verbosely/explicitly":

    [System.Environment]::SetEnvironmentVariable('KEY', 'value')
    ./myApp
Regardless, all those methods aren't "scoped".

eh `cmd /C "set KEY=value && ./myApp"` isn't that bad if you really need complete isolation.

or directly in powershell, `Start-Process myproc.exe -Environment @{ FOO = 'bar' }`

What an absolutely awful syntax.

How Powershell ever got popular is beyond me.

Because it's objects, not text. It "scales" a lot better in your brain because in general you need to know a lot less than in bash. No more awkward sed and awk scripts, manipulating objects is a breeze. Awkward syntax at places where you have to create an object from scratch is a fair price.

Right? This is your brain on Windows.

yeah | it's | so | much | better | with | bash | tr | cut -d' ' -t5 | jq .entry[].text | sed -i s/who/evenknows/g

Anyone who has ever maintained a semi complex set of bash invocations and pipes knows it's a fragile incantation that breaks anytime you look at it funny, or something in your chain produces unexpected output.

Powershell, while absolutely horrible to read and only slightly less horrible to write (hey look, proper auto completion instead of trying to cut on the 4th, wait no sorry 5th, ah fuck it's the 6th there's an invisible space) at least produces consistent and reproductible results.

No, your python script doesn't count, it makes me do a pip install requests. Oh, sorry, pip can't be used like that, gotta run apt instill python3-pip or my whole system breaks.