批处理中有两个可选参数

时间:2014-12-12 07:27:21

标签: batch-file

如何制作带有三个可选参数的批处理脚本,但是你可以传递第一个和第三个参数? e.g。

@echo off
set FIRST_PARAM=%1
set SECOND_PARAM=%2
set THIRD_PARAM=%3

echo "%FIRST_PARAM%"
echo "%SECOND_PARAM%"
echo "%THIRD_PARAM%"

如果我把script_name.bat放到b c它会给我

  

“一”

     

“B”

     

“C”

但如果我只想传递a和c并获得

,该怎么办?
  

“一”

     

“”

     

“C”

这可能吗?

1 个答案:

答案 0 :(得分:2)

传递给脚本"a" "" "c"""将是第二个参数。

要取消引用参数,您可以使用%~1

@echo off
set "FIRST_PARAM=%~1"
set "SECOND_PARAM=%~2"
set "THIRD_PARAM=%~3"

echo "%FIRST_PARAM%"
echo "%SECOND_PARAM%"
echo "%THIRD_PARAM%"

或(重新引用并再次引用)。IF是可选的,并检查空参数。

@echo off
if "%~1" NEQ "" set "FIRST_PARAM="%~1""
if "%~2" NEQ "" set "SECOND_PARAM="%~2""
if "%~3" NEQ "" set "THIRD_PARAM="%~3""

echo "%FIRST_PARAM%"
echo "%SECOND_PARAM%"
echo "%THIRD_PARAM%"