无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3418|回复: 6
打印 上一主题 下一主题

这个for循环怎么啦?那里错了!

[复制链接]
跳转到指定楼层
1#
发表于 2011-6-9 10:09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
DOS 7.1

for %%a in (C D E F G H I X) do if exist %%A:\nul if not "%dr%"=="%%a" echo %%a:\>>%tmp%\ls.txt
这个FOR循环只能将%%a:\显示,不能将%%a:\写入%tmp%\ls.txt
拆开不用FOR循环,可达目的
if exist C:\nul if not "%dr%"=="C" echo C:\>>%tmp%\ls.txt
if exist D:\nul if not "%dr%"=="D" echo D:\>>%tmp%\ls.txt
if exist E:\nul if not "%dr%"=="E" echo E:\>>%tmp%\ls.txt
.........


对不起:FOR-1.jpg多一个":",已重新上传

[ 本帖最后由 rjn2307 于 2011-6-11 13:11 编辑 ]

FOR-1.jpg (139.04 KB, 下载次数: 46)

FOR-1.jpg

FOR-2.jpg (104.45 KB, 下载次数: 46)

FOR-2.jpg

分开-1.jpg (142.41 KB, 下载次数: 48)

分开-1.jpg

分开-2.jpg (98.17 KB, 下载次数: 50)

分开-2.jpg

for-1a.jpg (140.78 KB, 下载次数: 59)

for-1a.jpg
2#
发表于 2011-6-9 10:33:59 | 只看该作者
for %%a in (C D E F G H I X) do if exist %%a:\nul if not "%dr%"=="%%a" echo %%a:\ >>%tmp%\ls.txt

%%A和%%a是有区别的
回复

使用道具 举报

3#
 楼主| 发表于 2011-6-9 11:25:03 | 只看该作者
谢谢版主,似乎不完全是“%%A和%%a”,请看截图,
问题是:
echo %%a:\>>%tmp%\ls.txt
变成了
echo %%a:\
后面的 >>%tmp%\ls.txt  不见了。
回复

使用道具 举报

4#
发表于 2011-6-9 13:51:32 | 只看该作者
测试完全正常屏幕输出定向到ls.txt文件
你可以把do后面用语句()括起来

回复

使用道具 举报

5#
 楼主| 发表于 2011-6-10 07:49:29 | 只看该作者
谢谢关心和指导!
xp测试完全正常
我的使用环境是 dos7.1,()括起来语法错误,不能执行
我的本意:在列表中排除列表标题文件那个盘符,显示其他所有有效盘符

[ 本帖最后由 rjn2307 于 2011-6-10 07:58 编辑 ]
回复

使用道具 举报

6#
发表于 2011-6-10 22:05:42 | 只看该作者
兄弟啊,纯dos是不支持复杂的连续判断的

[ 本帖最后由 xjn147 于 2011-6-10 22:11 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2011-6-11 12:55:13 | 只看该作者

回复 #6 xjn147 的帖子


原来如此
谢谢兄弟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 17:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表