cmd命令中的变量赋值问题
答案:1 悬赏:20 手机版
解决时间 2021-04-06 20:57
- 提问者网友:几叶到寒
- 2021-04-06 15:23
cmd命令中的变量赋值问题
最佳答案
- 五星知识达人网友:话散在刀尖上
- 2021-04-06 16:39
这是因为批处理的预处理机制照成的。
批处理预处理的过程:
1.将set a=4读入内容,发现set命令,将a赋值为4
2.接着预读set a=5 & echo %a%,发现%a%,将%a%直接扩展,也就是替换成上面的a=4,然后才会运行命令set命名,将a赋值5,你需要开启延迟变量,让变量知道变量已经变化了。方法:@echo off&setlocal enabledelayedexpansion
set a=4
set a=5 & echo %a%
pause
批处理预处理的过程:
1.将set a=4读入内容,发现set命令,将a赋值为4
2.接着预读set a=5 & echo %a%,发现%a%,将%a%直接扩展,也就是替换成上面的a=4,然后才会运行命令set命名,将a赋值5,你需要开启延迟变量,让变量知道变量已经变化了。方法:@echo off&setlocal enabledelayedexpansion
set a=4
set a=5 & echo %a%
pause
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯