批处理中%1~%9是什么意思?

可不可以举一个详细的例子

%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。
例1:C:根目录下有一批处理文件名为f.bat,内容为:
@echo off
format %1

如果执行C:\>f a:
那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a:

例2:C:根目录下一批处理文件名为t.bat,内容为:
@echo off
type %1
type %2

那么运行C:\>t a.txt b.txt
%1 : 表示a.txt
%2 : 表示b.txt
于是上面的命令将顺序地显示a.txt和b.txt文件的内容。

==== willsort 编注 ===============
参数在批处理中也作为变量处理, 所以同样使用百分号作为引导符, 其后跟0-9中的一个数字构成参数引用符. 引用符和参数之间 (例如上文中的 %1 与 a: ) 的关系类似于变量指针与变量值的关系. 当我们要引用第十一个或更多个参数时, 就必须移动DOS 的参数起始指针. shift 命令正充当了这个移动指针的角色, 它将参数的起始指针移动到下一个参数, 类似C 语言中的指针操作. 图示如下:

初始状态, cmd 为命令名, 可以用 %0 引用
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

经过1次shift后, cmd 将无法被引用
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9

经过2次shift后, arg1也被废弃, %9指向为空, 没有引用意义
cmd arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 arg10
^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | |
%0 %1 %2 %3 %4 %5 %6 %7 %8

遗憾的是, win9x 和DOS下均不支持 shift 的逆操作. 只有在 nt 内核命令行环境下, shift 才支持 /n 参数, 可以以第一参数为基准返复移动起始指针.
温馨提示:内容为网友见解,仅供参考
无其他回答

批处理中%1~%9是什么意思?
[1-9]在批处理文件中表示参数,参数是在运行批处理文件时在文件名后加的以空格或Tab分隔的字符串。变量可以分为%0到%9,其中%0表示批处理命令本身,而%1到%9则顺序表示其它参数字符串。例如,假设在C:根目录下有一批处理文件名为f.bat,其内容为:echo off format %1 执行C:\\>f a:时,%1...

批处理文件中%1~9是什么意思?
[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例2:C:根目录下有一批处理文件名为f.bat,内容为:echo off format %1 如果执行C:\\>f a:那么在执行f.bat时,%1就...

批处理中 %1---%9 怎么利用 求详细解说
%表示参数,参数是指在运行批处理文件时在文件名后加的字符串。变量可以从%0到%9,%0表示文件名本身,字符串用%1到%9顺序表示。例如,c:根目录下一批处理文件名为hkk.bat,内容为format%1则如果执行c:\\hkk a:则实际执行的是format a:又如c:根目录下一批处理文件的名为hkk001.bat,内容为type%1...

批处理命令中的%1至9的不太明白,希望有高手简便的详解下!
对比下代码,%1就是我是第一个参数 %2就是我是第二个参数 怎么样理解了吧!这些%1和%9可以让批处理也能带参数运行,大大提高批处理功能!还有一个%* 他是什么呢?他的作用不是很大,只是返回参数而已,不过他是一次返回全部参数的值,不用再输入%1 %2来一个个的返回.例子 echo off echo 同样保...

批处理 %~1和%1有什么区别
1、 %~1:表示处理过的字符,比如输入字符为"aa",表示结果为aa。2、%1:表示原输入字符,比如输入字符为"aa",表示结果为“aa”。三、语法不同 1、 %~1:如果不借助其他其他命令,批处理做多接收9个额外的参数。2、%1:使用shift命令可以对参数进行偏移,从而取到更多的参数。参考资料来源:...

请问bat中"%1" %*是什么意思???
%0 -%9表示命令行参数,%0表示bat文件名本身,%1-%9表示其后的参数,如在cmd输入命令test.bat 1 2。%0就表示test.bat,%1表示test.bat的第一个参数“1”,%2表示"2"。如果是%a% 这种形式 ,就是变量的引用,echo off set a=123 rem定义一个变量a 赋值为zhi123 echo %a% rem...

请问一下关于批处理文件参数的问题
echo %1 echo %2 echo %3 pause 然后在cmd运行这个批处理带上参数:abc.bat 第一个 第二个 第三个 你会发现abc.bat执行出来的结果是:第一个 第二个 第三个 也就是运行批处理时,参数从前往后最多可以有9个参数,带参数运行的批处理,那么批处理中的%1到%9会分别由刚才指定的参数来表示.另...

"%1"代表什么?
例如,一个简单的批处理文件可能会这样使用:“echo %1”,以显示传递给它的第一个参数。总而言之,"%1"是一个简明的缩写,用于指示批处理文件中的第一个可变参数,对于理解批处理程序的参数传递机制至关重要。在使用时,确保对其含义有清晰的理解,以确保代码的正确执行。

批处理的问题,批处理中%怎么用,什么意思,讲清楚点
(当然,这段代码,我相信你还不是特别懂,它的意思就是在C盘里查找名为1.txt的文件,找到删除此文件)3. 在CMD窗口中,不可输入2个%(%%),只有在批处理文件中才能写2个%,当然,写一个%,批处理也不会知道你写的是什么!4. 外部变量:%1-%9 这个东西其实也很好理解,但是有时候也比较难理解...

批处理%~1什么意思
第一个批处理传递给第二个批处理的第一参数,通常写在第二个批处理里面(文件)。

相似回答