Board logo

标题: 请问关于DOS的批处理命令的问题!! [打印本页]

作者: copy114     时间: 2002-11-11 00:00    标题: 请问关于DOS的批处理命令的问题!!

我今天在一些DOS的书上看到这样的命令,不过我不明白它具体是怎样用,什么意思也不大了解,请高手们指点我一下!!

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

还有的就是我经常在看到有一些这样式表达方式 %cdrom% 这两边的%又代表什么意思呢?什么情况下又可以用这些表达方式呢?请各位指教吧。。
作者: Wengier     时间: 2002-11-11 00:00
cdrom两边的%表示它是环境变量。那条命令的意思是显示执行批处理文件时所输入的%1、%2、%3、%4所对应的参数中的文件中的内容。例如当运行DEMO2 *.TXT *.DOC *.BAT时,就会自动显示那些文件中的内容。
作者: gotomsdos     时间: 2003-12-13 00:00
其实参数中也是可以叠用参数的!
可以这样:  如,一个批处理名为
"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

作者: willsort     时间: 2005-10-27 13:32
Re gotomsdos:

      在3楼中的命令行用法是错误的。在命令行中不会分析和转义%1等这些专用于批处理的命令行参数,从而造成Type命令的多参数错误。即使在NT CMD中的type已经可以允许多参数,但是仍然会有%1无法识别的语法错误。