返回列表 发帖

[文本处理] [已解决]echo生成的电源管理的批处理无法执行?

echo @echo off>56.bat
echo setlocal EnableDelayedExpansion>>56.bat
echo for /f "tokens=2 delims=()" %%%%i in ('powercfg -getactivescheme') do ( >>56.bat
echo set a=%%%%i >>56.bat
echo if "!a!" EQU "Balanced" powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c >>56.bat
echo if "!a!" EQU "High performance" powercfg -setactive a1841308-3541-4fab-bc81-f71556f20b4a>>56.bat
echo if "!a!" EQU "Power saver" goto end)>>56.bat
echo :end>>56.batCOPY
上述语句得到的56.bat
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=2 delims=()" %%i in ('powercfg -getactivescheme') do (
set a=%%i
if "!a!" EQU "Balanced" powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
if "!a!" EQU "High performance" powercfg -setactive a1841308-3541-4fab-bc81-f71556f20b4a
if "!a!" EQU "Power saver" goto end)
:endCOPY
为什么不能执行?不知到问题出在哪,求高手指教~~

ps:单独新建批处理可以正确执行~
1

评分人数

    • zm900612: 感谢给帖子标题标注[已解决]字样PB + 2

1# pdp320921

发现问题主要出现在
echo if "!a!" EQU "Balanced" powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c >>56.batCOPY
好像echo 后面接if 语句生成的文本语句不能够正确执行~

TOP

2# pdp320921


问题已解决~

TOP

3# pdp320921


能否把出错原因贴出来呢?让大家学习下

TOP

2# pdp320921


是因为行尾多了个空格?
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

5# Batcher

楼上正解!

TOP

>>56.bat echo if "!a!" EQU "Balanced" powercfg -setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635cCOPY
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表