批处理文件在循环中拼接字符串,为什么结果不对啊
@setclasspath=.@for%%cin(libs\*.jar)do(@setclasspath=%classpath%;%%c)@setclasspath=%c...
@set classpath=.
@for %%c in (libs\*.jar) do (
@set classpath=%classpath%;%%c
)
@set classpath=%classpath%;./bin;
@echo %classpath%
希望得到.;libs\aa.jar;libs\bb.jar;libs\cc.jar;libs\dd.jar;./bin;
但每次执行后,都是.;libs\dd.jar;./bin; 展开
@for %%c in (libs\*.jar) do (
@set classpath=%classpath%;%%c
)
@set classpath=%classpath%;./bin;
@echo %classpath%
希望得到.;libs\aa.jar;libs\bb.jar;libs\cc.jar;libs\dd.jar;./bin;
但每次执行后,都是.;libs\dd.jar;./bin; 展开
1个回答
展开全部
使用for循环设置变量时,必须开启环境变量延迟
否则for中设置的变量会无效
setlocal enabledelayedexpansion
变量名的百分号(%)换成感叹号(!)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询