Da minha experiência com o script de arquivo em lote, se ele sair mesmo quando você tiver uma PAUSA que deve ser atingida, isso significa que há um erro que causa falha. Neste caso, acho que são alguns problemas de sintaxe, bem como a forma como você está configurando a variável. Eu brinquei e fiz isso funcionar:
@ECHO off
FOR /f "delims=" %%a in ('POWERCFG -GETACTIVESCHEME') DO @SET _CURRENT_POWER_SCHEME="%%a"
IF NOT %_CURRENT_POWER_SCHEME%=="Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e (Balanced)" POWERCFG -SETACTIVE "381b4222-f694-41f0-9685-ff5bb260df2e"
A linha "Para / f ..." é geralmente o comando que eu uso para obter a saída de outro comando em uma variável. É normalmente para análise por meio de respostas mais complexas, mas manipula o comando -GETACTIVE nesse caso. Para obter mais informações sobre a sintaxe do loop for (ou a sintaxe de lote em geral): link