中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 能在98的FOR中把两个命令连起来吗?在线!
作者:
标题: 能在98的FOR中把两个命令连起来吗?在线! 上一主题 | 下一主题
gotomsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『楼 主』:  能在98的FOR中把两个命令连起来吗?在线!

下面只能分开执行:
for %%1 in (c d e f) do command1 %%1
for %%1 in (c d e f) do command2 %%1

能把上面两个命令连起来执行吗?98的




2004-1-20 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 2 楼』:  

試試這個吧
for %%a in (command1 command2) do for %%b in (c d e f) do %%a %%b



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-1-21 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
gotomsdos
铂金会员

C++启程者


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

嘿嘿! 好, 我试试,要不要加 /f ,  
是98 哦




[此贴子已经被作者于2004-1-21 10:07:40编辑过]




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

Batchinger


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

Re roy:

    独立的DOS和98的DOS方式均不支持循环嵌套。可以改用以下的用法:

    for %%a in (command1 command2) do %comspec% /c for %%b in (c d e f) do %%a %%b


[此贴子已经被作者于2004-1-26 21:29:52编辑过]






※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-1-26 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gotomsdos
铂金会员

C++启程者


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

非常感谢两位, ROY斑竹,尤其是WILLSORT!
斑竹提醒了我括号中可用命令集,WILLSORT解决了我的疑惑,使我理解了 在DOS 中的COMMAND /C
谢谢了!


2004-2-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaojun
银牌会员





积分 2202
发帖 499
注册 2003-6-12
状态 离线
『第 6 楼』:  



  Quote:
以下是引用willsort在2004-1-26 21:29:28的发言:
Re roy:

    独立的DOS和98的DOS方式均不支持循环嵌套。可以改用以下的用法:

    for %%a in (command1 command2) do %comspec% /c for %%b in (c d e f) do %%a %%b


[此贴子已经被作者于2004-1-26 21:29:52编辑过]


请问一下:这个%comspec% 是DOS的command.com的变量吗?



一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— !
2004-2-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gotomsdos
铂金会员

C++启程者


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

当然是啦! 用变量能绝对保证不出错



2004-2-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
xiaojun
银牌会员





积分 2202
发帖 499
注册 2003-6-12
状态 离线
『第 8 楼』:  

哦,对对对,当然是啦,俺忘了某些时候用到的set comspec=...了;   您这里的报证不出错没有理解,能大概说下用变量与直接用可能引起的错误与区别吗? 谢谢






[此贴子已经被作者于2004-2-4 13:45:37编辑过]






一年四季,枫叶红了又红;人生四季,失去的,还能再来吗?—— !
2004-2-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


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

Re xiaojun:

    %comspec%由系统自动赋值,直接引用即可,不需set。



※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-2-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
gotomsdos
铂金会员

C++启程者


积分 5154
发帖 1827
注册 2003-7-18
状态 离线
『第 10 楼』:  有新问题出现了!dos7.10的嵌套bug

willsort老兄你好!
在DOS7。10的命令行下,当前目录是C:,C:有三个TXT文件:1.txt,2.txt,3.txt.D:也有三个TXT文件,4.txt,5.txt,6.txt.   我要比较它们。键入
for %1 in (*.txt) do command /c for %2 in (d:\*.txt) do fc %1 %2>>abc
问题出现了:abc的内容为:
1.txt 比 4.txt
。。。。。。。。。(正常)
1.txt 比 5.txt
找不到文件 5.txt(当前目录是C:,所以,这个时候,它把d:\5.txt算作是c:\5.txt,所以找不到!也就是说,FOR循环命令中,第二次就忽略了d:\,而算作在当前目录!!)
1.txt 比 6.txt
同样找不到文件 6.txt。。。以下同理。。。
就是说,FOR循环中,第一轮正常,后面就出错了!
不过,我是在命令行下的,批处理还没试,应该一样吧

第二,用%comspec% /c 代替command /c时,说语法错误,奇怪!!

怎么回事?

另,在的xp的命令行中,没有这个问题, 一切正常。















[此贴子已经被作者于2004-6-13 下午 05:03:20编辑过]




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

Batchinger


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

Re gotomsdos:

  我无法复现你所发现的问题。我所使用的环境是安装了本站MS-DOS7.1的
Win98DOS方式,同样在C盘和D盘的根各创建了如上三个文本文件,使用了以下的命令行用法,均得到预想的结果。

  1,FOR %1 IN (*.TXT) DO COMMAND /C FOR %2 IN (D:\*.TXT) DO FC %1 %2>> E:\ABC.TXT

  2,FOR %1 IN (*.TXT) DO %COMSPEC% /C FOR %2 IN (D:\*.TXT) DO FC %1 %2>> E:\ABC.TXT

  请再复查一遍你的运行环境以及文本文件的存在和属性。




※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-6-14 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 12 楼』:  

willsort:MS-DOS 7.10完整版下既能启动Win3.x,又能启动Win95以及Win98,所以不应只说成是Win98的。我知道Win98自带的DOS通常是不能做到启动Win3.x的,没有那么纯。

gotomsdos:请注意一下LFNFOR命令的设置。将LFNFOR设为OFF试试,看有没有那个所谓的“BUG”。





Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-6-14 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
gotomsdos
铂金会员

C++启程者


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

感谢两位回复!
willsort:谢谢你试了!各方面数据没错的。
Wengier: 好,我再按照您的提示试一试!


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

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


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



论坛跳转: