在Windows批处理(.bat)脚本中接收命令行参数是一个常见的需求,这样的脚本能够根据提供的参数执行不同的操作。命令行参数通过特定的变量(%1、%2、%3…)来访问,其中%1表示第一个参数,%2表示第二个参数,以此类推。
下面是一个简单的批处理脚本示例,它接收一个命令行参数并打印出来。此脚本将假定为test.bat。
@echo off
REM 打印出第一个参数
echo The parameter passed to the script is: %1
打开命令提示符(cmd),然后导航到包含test.bat的目录。运行下面的命令:
test.bat 4
脚本将输出:
The parameter passed to the script is: 4

可以扩展test.bat脚本来处理和打印多个参数。
@echo off
REM 打印出所有传入的参数
echo First parameter: %1
echo Second parameter: %2
echo Third parameter: %3
REM 以此类推...
test.bat 4 "hello world" 2023
输出将是:
First parameter: 4
Second parameter: hello world
Third parameter: 2023
注意:
%0表示脚本本身的名称。"包围,如示例中的"hello world"。SHIFT命令,可以在批处理脚本中遍历超过9个的参数。如果想在脚本中处理未知数量的参数,可以使用SHIFT命令配合一个循环结构。
@echo off
:loop
IF "%1"=="" GOTO end
echo Parameter: %1
SHIFT
GOTO loop
:end
这个脚本会依次打印出所有传递给它的参数,直到没有更多参数为止。