我对 Windows 批处理脚本完全陌生。我想编写一个获取命令行参数的批处理脚本,如下所示;
myscript -parameter1 param1 -parameter2 param2
它应该在脚本中将 parameter1 设置为 param1,将 parameter2 设置为 param2。有人有执行上述操作的代码块吗?
谢谢
我对 Windows 批处理脚本完全陌生。我想编写一个获取命令行参数的批处理脚本,如下所示;
myscript -parameter1 param1 -parameter2 param2
它应该在脚本中将 parameter1 设置为 param1,将 parameter2 设置为 param2。有人有执行上述操作的代码块吗?
谢谢
您可以通过循环遍历参数并尝试以下操作:
:argloop
set "arg=%~1"
if "%arg:~0,1%"=="-" (
set "%arg:~1%=%~2"
shift
)
shift
if not "%1"=="" goto argloop
echo parameter 1: %parameter1%
echo parameter 2: %parameter2%
这将逐个查看参数,如果参数以 a 开头,-
它将设置一个同名的环境变量,并将下一个参数作为其值:
H:\>args.cmd -parameter1 param1 -parameter2 param2
parameter 1: param1
parameter 2: param2
如果您稍后需要原始参数,那么您应该将循环上方移动到子例程并将其%*
作为参数调用。