需要创建批处理或 PS 文件来帮助修复 powercfg 问题

需要创建批处理或 PS 文件来帮助修复 powercfg 问题

我有一个脚本的开头,它将执行以下操作:

powercfg /L >> c:\folder\powercfglst.txt

这给了我一个包含以下内容的文件。

*Existing Power Schemes (* Active)
-----------------------------------
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260aaaa  (Power Management Plan)
Power Scheme GUID: 381b4222-f694-41f0-9685-ff5bb260df2e  (Balanced)
Power Scheme GUID: 49ef8fc0-bb7f-488e-b6a0-f1fc77ec649b  (Dell)
Power Scheme GUID: 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c  (High performance)
Power Scheme GUID: 9f232b21-3864-4cf2-be7e-9a7ec8c2db7d  (AEM) *
Power Scheme GUID: a1841308-3541-4fab-bc81-f71556f20b4a  (Power saver)*

我需要一个脚本来解析 GUID# 并将其放入另一个文件中,或者使原始文件仅列出 guid#。

然后我计划删除所有 powercfg,然后导入自定义的 powercfg,并使其处于活动状态

任何帮助都将受到赞赏。

答案1

如果您只想提取/解析 GUID,您可以尝试以下操作:

$regex = '[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}'
(powercfg /l) -split " " -match $regex > myGUID.txt

myGUID.txt 的内容(对于我的电脑)

381b4222-f694-41f0-9685-ff5bb260df2e
49ef8fc0-bb7f-488e-b6a0-f1fc77ec649b

答案2

$(powercfg /L)-match ':'|%{$_.split(" ")[3]}

您可以通过简单地按空格过滤输出字符串来获得它,您的字符串位于包含以下内容的行的第 3 次出现中":"

$(powercfg.exe /L) -match ':' | % {
    $_.split(" ")[3] } >>C:\folder\powercfglst.txt
  • C:\folder\powercfglst.txt 的内容...
381b4222-f694-41f0-9685-ff5bb260df2e
8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
a1841308-3541-4fab-bc81-f71556f20b4a
e9a42b02-d5df-448d-aa00-03f14749eb61

相关内容