DOS命令:关于在FOR循环中替换字符串变量的问题

请看如下代码:@echooffsetlocalenabledelayedexpansionfor/F%%ain('date/T')do(setb=中国setb=!b:中国... 请看如下代码:
@echo off
setlocal enabledelayedexpansion
for /F %%a in ('date /T') do (
set b=中国
set b=!b:中国=中华人民共和国!
echo %b%
echo %%a
)
endlocal
pause
运行时set b=!b:/=-!这一段代码完全没有生效,输出“ECHO 处于关闭状态。”

如果把代码顺序改动一下变成如下顺序输出就正常了。
@echo off
setlocal enabledelayedexpansion
set b=中国
set b=!b:中国=中华人民共和国!
echo %b%
for /F %%a in ('date /T') do (
echo %%a
)
endlocal
pause

请了解的朋友帮助解答一下,谢谢。
展开
 我来答
野人拆
推荐于2016-08-04 · TA获得超过1069个赞
知道小有建树答主
回答量:815
采纳率:57%
帮助的人:564万
展开全部
@echo off
setlocal enabledelayedexpansion
for /F %%a in ('date /T') do (
 set b=中国
 set b=!b:中国=中华人民共和国!
 echo !b!
 echo %%a
)
endlocal
pause

for循环里要用 !b!,%b%用不了

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式