批处理中for()的问题

在temp.txt中保存不同文件夹的路径,然后希望分别进入这些文件夹,读取其中的文件for/f%%ain(temp.txt)do(for/r%%a%%iin(*.bat)... 在temp.txt中保存不同文件夹的路径,然后希望分别进入这些文件夹,读取其中的文件
for /f %%a in (temp.txt) do (
for /r %%a %%i in (*.bat) do (
type %%i
)
)
结果显示不该出现%%a
想问:1、for能这样双循环吗?
2、for /r 这里连用%%a %%i,的确不对,那应该怎样写?
希望有达人详细解说一下for的使用事项
展开
 我来答
丨情冇独钟丨
2008-07-14 · TA获得超过6220个赞
知道大有可为答主
回答量:2188
采纳率:50%
帮助的人:3455万
展开全部
1.for当然可以多层套循环,只是每个for命令指定的变量%%a不要重复,那样会乱套的..

2.for /r后面跟的是路径,是指某个位置的路径,你这的%%a是指temp.txt文件的每一行了,不应该这么写。
可能是你的这个txt文件每行都是一个路径吧.???
for /r后面跟定的路径可以用变量表示,但不能是前一个for中的变量%%a,需是其它类型的变量,如%windir%等;
可以采用变通的方法在下一个for之前加上cd命令,将命令行位置切换至某路径,然后下一个for /r后面就不用加路径了,就是以刚才切换过来的路径为准..

写个例子,全盘(cdef盘)搜索temp.txt文件.
@echo off
for %%a in (c d e f) do (
cd /d %%a:
for /r %%b in (temp.txt) do echo %%b
)
pause
QQ505791146
2008-07-14 · TA获得超过991个赞
知道小有建树答主
回答量:1064
采纳率:100%
帮助的人:0
展开全部
第一个批处理已经把c:\tddownload\里.exe文件加上隐藏属性 所以第二个批处理在c:\tddownload\里无法搜索到文件,也就无法执行 直接用 attrib c:\tddownload\*.exe -s -h /s /d pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式