Использование powercfg для дублирования текущей активной схемы питания

Мне нужно запустить командный файл с серией команд powercfg, чтобы продублировать текущую активную схему и переименовать ее.

Вручную, я бы сделал что-то подобное в командной строке.

powercfg -getactivescheme

Это даст мне GUID текущей активной схемы.

powercfg -duplicatescheme <GUID obtained above> <new GUID>

В идеале я хотел бы сделать что-то вроде этого...

powercfg -duplicatescheme -getactivescheme <new GUID>

Но так как это не разрешено, есть ли другой способ?

1 ответ

Решение

Ну, во-первых, вам нужно вытащить GUID из вывода powercfg, Это можно сделать с помощью for команда:

for /f "tokens=2 delims=:(" %%x in ('powercfg -getactivescheme') do echo %%x

Это просто выведет GUID, вы также можете сохранить его в переменной:

for /f "tokens=2 delims=:(" %%x in ('powercfg -getactivescheme') do set guid=%%x

Возможно, вы захотите удалить лишние пробелы из этого (здесь я получаю один пробел в начале строки и еще два в конце:

set guid=%guid: =%

Теперь, когда у вас есть GUID, вы можете поместить его в командную строку выше:

powercfg -duplicatescheme %guid% <new GUID>

Вам нужно только подумать о новом GUID. Я не знаю включенную программу командной строки, которая генерирует ее для вас.

NB: код здесь (особенно for часть) предполагает, что вы делаете это в командном файле. Для игры прямо в командной строке, вам придется использовать %x вместо %%x в for команды.

Другие вопросы по тегам