编辑上一个输出以批量使用下一个命令

时间:2014-09-09 14:17:36

标签: windows batch-file scripting

我需要从批处理文件中的命令输出中提取某个字符串,我试图获取有效电源方案的GUID来查询设置。

目前,我的代码如下所示:

FOR /F "delims=" %%i IN ('powercfg /getactivescheme') DO set scheme=%%i
powercfg /query %scheme%

但是当然powercfg / getactivescheme命令会将其他无用的垃圾添加到输出中,所以我最终得到了

C:\Users\Richard\Desktop>FOR /F "delims=" %i IN ('powercfg /getactivescheme') DO
 set scheme=%i

C:\Users\Richard\Desktop>set scheme=Power Scheme GUID: c0ea6ad3-6145-4447-a15e-5
fb97be69b98  (Energy Star)

现在,我想要提取的是:c0ea6ad3-6145-4447-a15e-5fb97be69b98并截断Power Scheme GUID:(Energy Star)

输入下一个命令powercfg /query %scheme%

欢迎任何建议。

谢谢!

1 个答案:

答案 0 :(得分:0)

这将获得第4个标记,由空格/标签分隔

FOR /F "tokens=4" %%i IN ('powercfg /getactivescheme') DO set scheme=%%i