3

我需要运行一个批处理文件,其中包含一系列 powercfg 命令来复制当前活动的方案并重命名它。

手动,我会在命令提示符下做这样的事情。

powercfg -getactivescheme

这会给我当前活动方案的 GUID。

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

理想情况下,我想做这样的事情......

powercfg -duplicatescheme -getactivescheme <new GUID>

但是既然不允许这样做,还有其他方法吗?

4

1 回答 1

5

好吧,首先您需要从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。我不知道为您生成一个包含的命令行程序。

注意:这里的代码(尤其是for部分)假设您在批处理文件中执行此操作。要直接在命令行上玩,你必须使用%x而不是%%xfor命令中。

于 2009-07-23T19:01:33.797 回答