中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 04:02
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请问关于DOS的批处理命令的问题!! 查看 2,159 回复 3
楼 主 请问关于DOS的批处理命令的问题!! 发表于 2002-11-11 00:00 ·  中国 广东 广州 联通
初级用户
积分 229
发帖 37
注册 2002-11-09 00:00
UID 207
性别 男
状态 离线
我今天在一些DOS的书上看到这样的命令,不过我不明白它具体是怎样用,什么意思也不大了解,请高手们指点我一下!!

1。 下面的批文件将重复显示几个指定文件的内容:
c:\>type demo2.bat
for %%x in (%1 %2 %3 %4) do type %%X
c:\>
我想问的就是;
1。%1 %2 %3 %4 这本来就是批处理文件的参数,上面这条命令把它放到括号里面起了什么作用啊?我们怎么定义它的参数的值啊?

还有的就是我经常在看到有一些这样式表达方式 %cdrom% 这两边的%又代表什么意思呢?什么情况下又可以用这些表达方式呢?请各位指教吧。。
2 发表于 2002-11-11 00:00 ·  美国 肯塔基州 费耶特县 列克星敦 Charter_Communications
系统支持
★★★★★★
“新DOS时代”站长
积分 27,736
发帖 10,521
注册 2002-10-09 12:00
UID 9
状态 离线
cdrom两边的%表示它是环境变量。那条命令的意思是显示执行批处理文件时所输入的%1、%2、%3、%4所对应的参数中的文件中的内容。例如当运行DEMO2 *.TXT *.DOC *.BAT时,就会自动显示那些文件中的内容。
Wengier - 新DOS时代

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

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

3 发表于 2003-12-13 00:00 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
其实参数中也是可以叠用参数的!
可以这样: 如,一个批处理名为
"ab.bat"
@echo off
for %%a in (%1 %2 %3 %4) do type %%a
可以这样执行:
c:\>ab 1.txt 2.txt 3.txt 4.txt

直接在命令行也行
c:\>for %a in (%1 %2 %3 %4) do type %a 1.txt 2.txt 3.txt 4.txt
4 发表于 2005-10-27 13:32 ·  中国 山西 运城 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re gotomsdos:

在3楼中的命令行用法是错误的。在命令行中不会分析和转义%1等这些专用于批处理的命令行参数,从而造成Type命令的多参数错误。即使在NT CMD中的type已经可以允许多参数,但是仍然会有%1无法识别的语法错误。
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
论坛跳转: