Try this:
You'll still need to view the prompt for opening the MSYS shell as Admin and the cmd window will not be focused(those two things could be pretty annoying but it's better than nothing).
I haven't checked but you can try the steps above withouth forcing Admin opening on the MSYS shell but only on cmd(so you don't have to view the Admin prompt).
Optional tip:
Since you said you use cmd from msys2 shell a lot, you could write a function inside a bash startup file(like .bashrc) to wrap the command like this
opencmd()
{
/bin/start cmd
}
so you can just type opencmd inside the shell.
EDIT:
1) You actually need to force Admin opening only the MSYS shell and the command will open cmd as Admin
2) I tried the steps on another machine and, after opening cmd with the command, the cmd window was correctly focused(though I still don't know why on the other machine the window wasn't focused)
3) Instead of the command proposed above, you can just type cmd in the MSYS shell and it will open cmd inside the shell as Admin(if you forced the Admin opening of the MSYS shell) but I noticed that
- the commands typed in cmd are echoed one more time before being executed
- the cursor can be moved freely inside the shell causing weird behaviour
so be careful if you decide to use this solution
EDIT 2:
If you need to execute 1 command from cmd and come back to the MSYS shell, you can just type
cmd //c your_command
inside the MSYS shell
If you need to execute 1 command and then you want to stay inside the cmd inside the MSYS shell, you can just type
cmd //k your_command
inside the MSYS shell
(remember to use //)
Sources:
How to run internal cmd command from the msys shell?
https://ss64.com/nt/cmd.html