2014-11-04 92 views
0

我想在命令行运行脚本象下面这样:命令行参数的批处理文件

xxxx.bat param1=something1 param2=something2 param3=saomething3 

我能做到这一点从下面的脚本:

echo off 
cls 
@echo first,second arguments :: %1 %2 
set %1 
set %2 
@echo a :::: %a% 
@echo b :::: %b% 

我上运行脚本命令行使用以下命令,

xxx.bat "a=1" "b=2" 

我的问题是,我可以通过没有引号的参数,我可以访问参数由脚本名称的情况下直接使用:

set %1 
set %2 

回答

1

您需要设置脚本中的变量,如果你希望脚本可以使用它们。你可以,但是,仅传递值到这样的脚本:

@echo off 
cls 
set param1=%1 
set param2=%2 

而且,只要参数没有空格,则不需要引号。

+0

我想知道我是否可以访问没有重新定义它在脚本中,因为我通过它的命令行参数的参数。 – Dilma 2014-11-04 11:12:17

+0

你正在传递一个字符串作为参数,只是碰巧有一个等号。除非将其定义为变量,否则该脚本不会知道您希望它成为变量。如果您不想在脚本中定义它,则必须在运行脚本之前在命令提示符中设置变量。如果您这样做,变量将保持不变,直到您关闭命令提示符或更改其值。 – SomethingDark 2014-11-04 11:20:15

+0

好的。我明白了。谢谢@SomethingDark – Dilma 2014-11-04 11:21:39