关于setlocal enabledelayedexpansion后显示echo问题

@echoofftitle进度模块modecon:cols=40lines=10color0Asetlocalenabledelayedexpansionset完成总格=... @echo off
title 进度模块
mode con:cols=40 lines=10
color 0A
setlocal enabledelayedexpansion
set 完成总格=██████████
set 剩余总格=          
set 预置格数=10
:进度模块
cls
set /a 缓冲格数+=1
set /a 预置格数-=1
set /a 速率百分+=10
echo.
echo.
echo.
echo  %任务显示%
echo.
echo    !完成总格:~0,%缓冲格数%!!剩余总格:~0,%预置格数%! [%速率百分%%%]
ping/n 2 127.1>nul
if "%缓冲格数%"=="1" set 任务显示=正在初始化宏参数,请稍等……  (1/3)
if "%缓冲格数%"=="4" set 任务显示=正在监测网络环境,请稍等……  (2/3)
if "%缓冲格数%"=="7" set 任务显示=正在预加载主菜单,请稍等……  (3/3)
if not "%缓冲格数%"=="10" goto 进度模块
:准备就绪
mshta vbscript:msgbox("准备就绪,请确认继续!",64,"信息")(window.close)
pause>nul

——————分割线——————

一点开在10%的时候不能显示“任务显示=正在初始化宏参数,请稍等……  (1/3)”而是显示ehco处于关闭状态,要到了20%才可以。。这个要怎么解决?(ehco前面加.虽然会不显示“ehco处于关闭状态”了,但我要的效果是能显示“任务显示=正在初始化宏参数,请稍等……  (1/3)”)
展开
 我来答
山水阿锐
2015-06-28 · TA获得超过34.3万个赞
知道顶级答主
回答量:23.7万
采纳率:91%
帮助的人:3.2亿
展开全部
用个变量保存旧的路径然后恢复不行吗,比如 "set olddir=%cd%"
setlocal 定义一个环境变量区域,在这个区域popd就找不到pushd保存的环境变量,也就不能正确恢复目录,为每个setlocal加一个对应的endlocal命令就会恢复到原先的环境变量设置,像这样
pushd %binDir%
cd ..\lib\
setlocal enabledelayedexpansion
需要使用变量延迟的命令
endlocal
popd
setlocal有对应的endlocal,这样popd就能恢复pushd保存的目录了。
追问
我是新手啊,要怎么加?大神你直接帮我改下吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式