![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-13 22:06 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS学习入门 & 精彩文章 (教学室) » 能在98的FOR中把两个命令连起来吗?在线! |
| 可打印版本 1,179 / 12 |
| 第1楼 GOTOmsdos | 发表于 2004-01-20 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
能在98的FOR中把两个命令连起来吗?在线! 下面只能分开执行:
for %%1 in (c d e f) do command1 %%1 for %%1 in (c d e f) do command2 %%1 能把上面两个命令连起来执行吗?98的 |
|
| 第2楼 Roy | 发表于 2004-01-21 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
|
試試這個吧
for %%a in (command1 command2) do for %%b in (c d e f) do %%a %%b |
|
| 第3楼 GOTOmsdos | 发表于 2004-01-21 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
嘿嘿! 好, 我试试,要不要加 /f ,
是98 哦 |
|
| 第4楼 willsort | 发表于 2004-01-26 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re roy:
独立的DOS和98的DOS方式均不支持循环嵌套。可以改用以下的用法: for %%a in (command1 command2) do %comspec% /c for %%b in (c d e f) do %%a %%b |
|
| 第5楼 GOTOmsdos | 发表于 2004-02-02 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
非常感谢两位, ROY斑竹,尤其是WILLSORT!
斑竹提醒了我括号中可用命令集,WILLSORT解决了我的疑惑,使我理解了 在DOS 中的COMMAND /C 谢谢了! |
|
| 第6楼 xiaojun | 发表于 2004-02-03 00:00 |
| 银牌会员 发帖 499 积分 2,202 | |
以下是引用willsort在2004-1-26 21:29:28的发言: 请问一下:这个%comspec% 是DOS的command.com的变量吗? |
|
| 第7楼 GOTOmsdos | 发表于 2004-02-03 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
当然是啦! 用变量能绝对保证不出错
|
|
| 第8楼 xiaojun | 发表于 2004-02-03 00:00 |
| 银牌会员 发帖 499 积分 2,202 | |
|
哦,对对对,当然是啦,俺忘了某些时候用到的set comspec=...了; 您这里的报证不出错没有理解,能大概说下用变量与直接用可能引起的错误与区别吗? 谢谢
|
|
| 第9楼 willsort | 发表于 2004-02-03 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
Re xiaojun:
%comspec%由系统自动赋值,直接引用即可,不需set。 |
|
| 第10楼 GOTOmsdos | 发表于 2004-06-13 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
有新问题出现了!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的命令行中,没有这个问题, 一切正常。 |
|
| 第11楼 willsort | 发表于 2004-06-14 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
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 请再复查一遍你的运行环境以及文本文件的存在和属性。 |
|
| 第12楼 Wengier | 发表于 2004-06-14 00:00 |
| 系统支持 发帖 10,521 积分 27,736 | |
|
willsort:MS-DOS 7.10完整版下既能启动Win3.x,又能启动Win95以及Win98,所以不应只说成是Win98的。我知道Win98自带的DOS通常是不能做到启动Win3.x的,没有那么纯。
gotomsdos:请注意一下LFNFOR命令的设置。将LFNFOR设为OFF试试,看有没有那个所谓的“BUG”。 |
|
| 第13楼 GOTOmsdos | 发表于 2004-06-16 00:00 |
| 铂金会员 发帖 1,827 积分 5,154 | |
|
感谢两位回复!
willsort:谢谢你试了!各方面数据没错的。 Wengier: 好,我再按照您的提示试一试! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |