Windows 请解释一下这个bat文件

Windows 请解释一下这个bat文件,windows,batch-file,Windows,Batch File,有人能给我解释一下吗 我知道它正在更改Windows PC的powercfg。但不知道这意味着什么。for命令的标记=2,4选项分配变量%G,%H。引用文件: 代币=x,y,m-n 指定每行中的哪些令牌将被传递到每个迭代的主体。因此,会分配额外的变量名。m-n形式是一个范围,指定第m个到第n个令牌。如果tokens=字符串中的最后一个字符是星号(*),则会分配一个附加变量,并在解析的最后一个标记后的行上接收剩余文本 脚本从powercfg读取报告并查找特定信息,将其中一个配置文件设置为活动。正如

有人能给我解释一下吗


我知道它正在更改Windows PC的powercfg。但不知道这意味着什么。

for命令的
标记=2,4
选项分配变量
%G
%H
。引用文件:

代币=x,y,m-n
指定每行中的哪些令牌将被传递到每个迭代的
主体。因此,会分配额外的变量名。m-n形式是一个范围,指定第m个到第n个令牌。如果
tokens=
字符串中的最后一个字符是星号(*),则会分配一个附加变量,并在解析的最后一个标记后的行上接收剩余文本

脚本从
powercfg
读取报告并查找特定信息,将其中一个配置文件设置为活动。正如所建议的,一步一步地把它拆开将是一个很好的练习

下面是一张显示某人电源配置的图片:

通过使用冒号和括号作为分隔符,解析器将忽略这些分隔符(将它们视为间隙),因此脚本将选择(允许列计数…)以
*
结尾的分隔符(图中的“高性能”)。当然,你的照片可能会有所不同

进一步阅读:

  • -为一组文件中的每个文件运行指定命令
  • -控制电源设置,并将计算机配置为默认休眠或待机模式

从命令提示符获取/?
将解释第一行。从那里你应该可以知道剩下的大部分。谢谢。您能解释一下%%G和%%H的值是从哪里获得的吗?
%%G
是批处理文件第一行中的
for
语句创建的变量
%%H
是生成的输出中的第二个标记(后面紧跟着
%%I
%%J
,等等)。
For /f "skip=2 tokens=2,4 delims=:()" %%G in ('powercfg -list') do (
 Powercfg -setAcValueIndex %%G sub_buttons sButtonAction 0
 if "%%H" == " *" Powercfg -setActive %%G
 )