中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样用FOR循环"简化"以下批处理?(怎样把>>传给变量)?
作者:
标题: 怎样用FOR循环"简化"以下批处理?(怎样把>>传给变量)? 上一主题 | 下一主题
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『楼 主』:  怎样用FOR循环"简化"以下批处理?(怎样把>>传给变量)?

怎样用FOR循环"简化"以下批处理,实现把findd.txt 中的盘符写入drive.txt文件(以给WBAT调用)?
find "C:\" findd.txt >nul
if not errorlevel 1 echo C:>>drive.txt
find "D:\" findd.txt >nul
if not errorlevel 1 echo D:>>drive.txt
find "E:\" findd.txt >nul
....

[此贴子已经被作者于2005-4-16 21:37:10编辑过]




2005-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 2 楼』:  

Re GOTOmsdos:  尽管用FOR循环也是可以实现的,但是我并不建议使用它,因为它对内部过程的控制不灵活;我建议你使用命令行循环,我曾经给walu兄写过几个类似的程序,你可以参考下面的链接修改一下:  http://bbs.cn-dos.net/dispbbs.asp?boardid=12&id=9637  http://bbs.cn-dos.net/dispbbs.asp?boardid=9&id=11963  http://bbs.cn-dos.net/dispbbs.asp?boardid=12&id=14552  http://bbs.cn-dos.net/dispbbs.asp?BoardID=9&ID=14512



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2005-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
chenhui530
高级用户





积分 772
发帖 273
注册 2004-10-23
状态 离线
『第 3 楼』:  

在纯DOS下不可以这样嵌套的~~看楼主的程序应该是在纯DOS下的所以应该使用SHIFT



http://www.msfans.net/bbs/
2005-4-16 00:00
查看资料  发送邮件  发短消息 网志  OICQ (77740821)  编辑帖子  回复  引用回复
GOTOmsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 4 楼』:  

感谢提醒,用SHIFT配合一个参数就行了,  用FOR还真是难办!drive.bat:@echo off
:loop
if "%1"=="" goto end
find "%1" findd.txt>nul
if not errorlevel 1 echo %1>>drive.txt
shift
goto loop
:end
输入:drive c: d: e: ....

2005-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: