我是Windows批处理脚本的新手。我想编写一个获取命令行参数的批处理脚本,如下所示;
myscript -parameter1 param1 -parameter2 param2
它应该在脚本中将参数1设置为param1,将参数2设置为param2。 有没有人有一个代码块,上面做了什么?
由于
答案 0 :(得分:4)
你可以通过循环遍历参数并尝试这样的事情:
: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%
这将逐个查看参数,如果参数以-
开头,它将设置一个具有相同名称的环境变量,并将下一个参数作为其值:
H:\>args.cmd -parameter1 param1 -parameter2 param2
parameter 1: param1
parameter 2: param2
如果您以后需要原始参数,那么您应该将上面的循环移到子程序中并以%*
作为参数调用它。