获取命令行参数的批处理脚本
问题描述:
我是全新的windows批处理脚本。我想编写一个批处理脚本来获取如下的命令行参数;获取命令行参数的批处理脚本
的MyScript -parameter1参数1 -parameter2参数2
应该设置参数1至参数1和参数2到脚本中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%
这将看参数逐一如果有一个参数与-
启动时,它会设置相同名称的环境变量与下一个参数,其值为:
H:\>args.cmd -parameter1 param1 -parameter2 param2
parameter 1: param1
parameter 2: param2
如果以后需要原来的参数,那么你SH将上面的循环移到子程序中,并以%*
作为参数来调用它。
可能重复的[Windows蝙蝠文件可选参数解析](http://stackoverflow.com/questions/3973824/windows-bat-file-optional-argument-parsing)看看[我最近的答案](http ://stackoverflow.com/a/8162578/1012053)到这个老问题 - 它有一些想法和技术,你可能会发现有用的。 – dbenham 2012-08-16 11:26:28