![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 12:21 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]for语句的问题? |
| 可打印版本 652 / 3 |
| 第1楼 tempuser | 发表于 2007-11-15 09:28 |
| 高级用户 发帖 261 积分 547 | |
|
[求助]for语句的问题? 我看了最强之dos命令 – for (是新手学习FOR语句的好资料),觉得收获很多,但由于对for理解还很浅,所有该文章中的许多知识都还是很难理解:
1.假设当前目录中有a1,a2,a3和子目录temp下有a4,a5,a6六个文本文件,只有a1和a4中有“zgk”内容. 那么,我执行 for /r . %a in (.) do @find "zgk" %a 为什么显示如下错误: 拒绝访问 - C:\TREE\. 拒绝访问 - C:\TREE\TEMP\ 以.为循环范围,不是说for 只将子目录的结构(目录名)作为循环范围,而不包括里面的文件,那么为什么对当前目录tree也处理呢? 如果我只想对当前目录tree又不想对temp目录遍历,该怎么做? 2.看到这样的例子,但没有实践 有一个文本有如下内容: Volume in drive D is DATA Volume Serial Number is C47C-9908 Directory of D:\tmp 09/26/2001 12:50 PM 18,426 alg0925.txt 12/02/2001 04:29 AM 795 bsample.txt 04/11/2002 04:18 AM 2,043 invitation.txt 4 File(s) 25,651 bytes 0 Dir(s) 4,060,700,672 bytes free for /f "skip=5 tokens=5" %a in (todel.txt) do @if exist %a echo %a 执行显示结果: alg0925.txt bsample.txt invitation.txt 不是跳到第5行,应该显示 bsample.txt invitation.txt 对吗? 3.我试了该命令行 for %a in (c: d: e: f do @dir %a\ find "bytes free" 我改成了 for %a in (c: d: e: f:) do @dir %a | find "bytes free">temp.txt 在cmd下执行,感觉有信息一闪而过,也生成了temp.txt,但它什么信息也没有啊,我该怎样实现查看各盘的空闲空间呢? |
|
| 第2楼 junchen2 | 发表于 2007-11-15 10:15 |
| 高级用户 发帖 219 积分 537 来自 杭州--半山 | |
|
1.
for /f "delims=" %a in ('dir /b /s /a-d *.txt') do find "zgk" %~sa 2. for /f "skip=5 tokens=5" %a in (todel.txt) do @if @if not "%a"=="" echo %a echo %a skip=n - 指在文件开始时忽略的行数。 3. 你可能是中文的系统 find "可用字节">>temp.txt |
|
| 第3楼 tempuser | 发表于 2007-11-15 10:39 |
| 高级用户 发帖 261 积分 547 | |
Originally posted by junchen2 at 2007-11-15 10:15: 谢谢,第1个问题解决了. 第2个问题我想请教,skip=5,那么条过5行,就应该是从第6行开始执行, 那应该是显示 bsample.txt invitation.txt 而不应该是 alg0925.txt bsample.txt invitation.txt 这样理解对吗? 我的系统是中文系统,但即使 find "空闲字节">>temp.txt 也还是生成一个零字节的文本文件,不能查看到任何盘符的空闲空间啊 能帮助在解释一下吗? |
|
| 第4楼 junchen2 | 发表于 2007-11-15 10:55 |
| 高级用户 发帖 219 积分 537 来自 杭州--半山 | |
|
todel.txt正文前可能有空格,我测试为
invitation.txt free 3。 find "空闲字节">>temp.txt find "可用字节">>temp.txt |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |