批处理 for循环放到if条件里面得不到值??

首先:我E盘上有一个a.log文件夹里面不是空的,E盘还存在一个pro的文件夹!FOR/F%%iin(e:\a.log)do(setcnt=%%i)echo%cnt%此时... 首先:我E盘上有一个a.log 文件夹里面不是空的,E盘还存在一个pro的文件夹!
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo %cnt% 此时输出的值不是空的!
-----这个是有值的!

if exist e:\pro(
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo %cnt% 此时输出的值就是空的了!
-----这个无论怎么办,都是""了!
)

就因为一个if判断 (在for循环的外面嵌套了一个if判断,并切这个if判断是true),却导致了for循环不能得到值了,
难道for循环不能放到if里面去?
还是因为我代码有问题。没有写正确?
高手求助!!!高手求助!!!
看不懂题目的发消息我追加补充!
wkdxz 我太不懂你的意思 !
- -!
展开
 我来答
两只路边的蚂蚁ls
2010-06-24 · TA获得超过4467个赞
知道大有可为答主
回答量:2127
采纳率:100%
帮助的人:1359万
展开全部
if exist e:\pro(
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo %cnt% 此时输出的值就是空的了!
-----这个无论怎么办,都是""了!
)

第一句括号前少个空格
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (
call set cnt=%%i
call echo.%%cnt%%
)

试试这个。
要是行的话,你了解下“变量延迟”

参考资料: http://hi.baidu.com/ynnal911/blog/item/2e91f91bd7c6e50a34fa41d6.html

LJ_SunTB
2010-06-24 · TA获得超过1404个赞
知道小有建树答主
回答量:766
采纳率:0%
帮助的人:824万
展开全部
@echo off & setlocal enabledelayedexpansion
if exist e:\pro(
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo !cnt!
)
pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友da9e76233
2010-06-24 · TA获得超过4907个赞
知道小有建树答主
回答量:880
采纳率:0%
帮助的人:815万
展开全部
::方法1
setlocal enabledelayedexpansion
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
echo !cnt!)

::方法2
if exist e:\pro (
FOR /F %%i in (e:\a.log) do (set cnt=%%i)
call echo %%cnt%%
)

将你的代码改成上面两种的其中一种就可以了
要是不明白请访问:

参考资料: http://hi.baidu.com/ynnal911/blog/item/2e91f91bd7c6e50a34fa41d6.html

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式