Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Command line 使用powercfg复制当前的有功功率方案_Command Line_Batch File_Powercommands - Fatal编程技术网

Command line 使用powercfg复制当前的有功功率方案

Command line 使用powercfg复制当前的有功功率方案,command-line,batch-file,powercommands,Command Line,Batch File,Powercommands,我需要运行一个批处理文件,使用一系列powercfg命令复制当前活动的方案并重命名它 我会在命令提示符下手动执行类似的操作 powercfg -getactivescheme 这将为我提供当前活动方案的GUID powercfg -duplicatescheme <GUID obtained above> <new GUID> powercfg-duplicatescheme 理想情况下,我会想做这样的事情 powercfg -duplicatescheme -ge

我需要运行一个批处理文件,使用一系列powercfg命令复制当前活动的方案并重命名它

我会在命令提示符下手动执行类似的操作

powercfg -getactivescheme
这将为我提供当前活动方案的GUID

powercfg -duplicatescheme <GUID obtained above> <new GUID>
powercfg-duplicatescheme
理想情况下,我会想做这样的事情

powercfg -duplicatescheme -getactivescheme <new GUID>
powercfg-duplicatescheme-getactivescheme

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

首先,您需要从
powercfg
的输出中取出GUID。这可以通过
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>
powercfg-重复方案%guid%
你只需要考虑一个新的GUID。我不知道有哪个包含的命令行程序可以为你生成一个

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