You can give a try for this batch file too :
@echo off
Set Title="command in a msgbox"
Title %Title%
@for /f "delims=" %%a in ('powercfg /getactivescheme') do (Set "MSG=%%a")
>"%temp%\%~n0.vbs" ( echo MsgBox "%MSG%",vbInformation,%Title% )
wscript "%temp%\%~n0.vbs" & Del "%temp%\%~n0.vbs"
EDIT : If You want to extract Data between two parenthesis ( Data Info....)
You can use a vbscript dealing with Regex like this one :
For example in my test with french machine ( Utilisation Normale )
@echo off
Set Title="command in a msgbox"
Title %Title%
@for /f "delims=" %%a in ('powercfg /getactivescheme') do (Set "MSG=%%a")
Call :ExtractData "%MSG%" MSG
>"%temp%\%~n0.vbs" ( echo MsgBox "%MSG%",vbInformation,%Title% )
Wscript.exe "%temp%\%~n0.vbs" & Del "%temp%\%~n0.vbs"
Exit
REM------------------------------------------------------------------------
:ExtractData
(
echo wscript.echo Extract("%~1"^)
echo Function Extract(Data^)
echo Dim strPattern,oRegExp,Matches
echo strPattern = "(?:\()(.*)(?:\))"
echo Set oRegExp = New RegExp
echo oRegExp.IgnoreCase = True
echo oRegExp.Pattern = strPattern
echo set Matches = oRegExp.Execute(Data^)
echo If Matches.Count ^> 0 Then Extract = Matches(0^).SubMatches(0^)
echo End Function
)>"%tmp%\%~n0.vbs"
@for /f "delims=" %%a in ('cscript //nologo "%tmp%\%~n0.vbs"') do ( set "%2=%%a")
If Exist "%tmp%\%~n0.vbs" Del "%tmp%\%~n0.vbs"
Exit /B
REM------------------------------------------------------------------------